Python 使用参数设置()的url_
我在学烧瓶,我被困在这里了 如何为带有参数(参数)的搜索结果创建链接? 我的应用程序只使用Flask和Jinja2以及HTML搜索书籍并在HTML页面上呈现它们 因此,我的HTML只有以下功能:Python 使用参数设置()的url_,python,postgresql,flask,jinja2,url-routing,Python,Postgresql,Flask,Jinja2,Url Routing,我在学烧瓶,我被困在这里了 如何为带有参数(参数)的搜索结果创建链接? 我的应用程序只使用Flask和Jinja2以及HTML搜索书籍并在HTML页面上呈现它们 因此,我的HTML只有以下功能: <ul> {% for x in lk1 %} <li><a href="{{ url_for('bookPage'}}">{{ x[2] }} (by) {{ x[3] }} (year) : {{ x[4] }}</a>&l
<ul>
{% for x in lk1 %}
<li><a href="{{ url_for('bookPage'}}">{{ x[2] }} (by) {{ x[3] }} (year) : {{ x[4] }}</a></li>
{% endfor %}
</ul>
{lk1%中x的%1}
{%endfor%}
其中lk1
是Flask从SQL中收集的书籍列表
和x
是来自SQL数据库的原始信息
现在在页面bookpage.html
中,它是空的,我需要传递带有URL的参数,以便我可以在页面上呈现它们,或者获取关于这本书的其余信息,并在图书页面中呈现它,如果您能帮助我理解如何根据我的代码制作图书标题的URL,它是{x[2]}
我看到ppl做了一些类似于
的事情,但我不知道它是如何工作的
谢谢大家! 我认为,您必须了解有关使用flask和jinja创建变量url的信息 变量url的示例 HTML
<ul>
{% for x in lk1 %}
<li><a href="{{ url_for('bookPage', title=x[2] }}">{{ x[2] }} (by) {{ x[3] }} (year) : {{ x[4] }}</a></li>
{% endfor %}
</ul>
{lk1%中x的%1}
{%endfor%}
Python
@app.route('/books/<title>' )
# the name of this function have to be used in
# url_for ('nameOfFunction', name_of_variable_part_of_url=some_internal_variable)
def bookPage(title):
# code, that will creat yourlist
# book.html - template for book
# listofvariables - variables for book's page
#
return render_template ("book.html", listofvariables=yourlist)
@app.route(“/books/”)
#此函数的名称必须在中使用
#url\u for('nameOfFunction',变量的名称\u\u部分\u\u\u url=某些内部变量)
def书页(标题):
#代码,这将创建您的列表
#book.html-图书的模板
#listofvariables-书本页面的变量
#
返回render_模板(“book.html”,listofvariables=yourlist)
链接到一个类似的问题:
更新:要在url中使用许多变量,必须更改html和python
Html:
<a href="{{ url_for('bookPage', title=x[2], heading=x[3]) }}">all your text </a>
@app.route('/books/<title>-<heading>' )
def bookPage(title, heading):
Python:
<a href="{{ url_for('bookPage', title=x[2], heading=x[3]) }}">all your text </a>
@app.route('/books/<title>-<heading>' )
def bookPage(title, heading):
@app.route('/books/-'))
def书页(标题、标题):
模板
<ul>
{% for x in book_list %}
<li><a href="{{ url_for('bookpage', title=x.title, book_id=x.id }}">{{ x.title }} (by) {{ x.author }} (year) : {{ x.year }}</a></li>
{% endfor %}
</ul>
我建议您使用Book并将其作为如下所示的对象,您将能够访问Jinja模板中所示的属性
class Book(db.Model):
id = db.Column(db.Integer, db.ForeignKey)
title = db.Column(Text)
author = db.Column(Text)
如果你想访问书籍页面,你可以为书籍和页面设置一对多模式,即如果你是上传内容的人,一本书有多个页面。Url\u用于应用程序中定义的Url如果你正在设置外部Url,你可能只需要字符串nd href=stringThank非常有效!!但我能传递的不仅仅是标题吗?当我添加一个以上的参数时,我不断收到一个错误>>>>-->--->错误是:---缺少一个必需的位置参数也请您提供一个好的资源“使用flask和jinja创建变量url”的链接。我找不到有价值的信息,例如对于url()html:
和python,两行:@app.route('/books/-')
和def bookPage(标题、标题):