我正在努力使用flask(sqlalchemy)和Python设置动态路由。当我测试代码时,url会正确呈现。但是,链接呈现的是布局模板,而不是书本扩展名。你知道吗
我一直在看代码,我肯定我遗漏了一些简单的东西。有人能看出我做错了什么吗?你知道吗
以下是带有动态链接的html:
{% for book in books %}
<tr>
<td>
<a href="{{ url_for('book', book_id=book.book_id) }}">
{{ book.isbn }}
</a>
</td>
<td>{{ book.title }}</td>
<td>{{ book.author }}</td>
<td>{{ book.year }}</td>
</tr>
{% endfor %}
这是你的名字书本.html模板扩展html。“Book Details”静态内容未呈现:
{% extends "layout.html" %}
{% block title %}
Book Details
{% endblock %}
{% block body %}
<h1>Book Details</h1>
<ul>
<li>ISBN: {{ book.isbn }}</li>
<li>Title: {{ book.title }}</li>
<li>Author: {{ book.author }}</li>
<li>Publication Year: {{ book.year }}</li>
</ul>
{% endblock %}
最后是应用程序.py路线:
@app.route("/results/<int:book_id>")
def book(book_id):
"""Lists details about a single book."""
# Look up book in the database
book = db.execute("SELECT * FROM books WHERE book_id = :book_id", {"book_id": book_id}).fetchone()
return render_template("book.html", book=book)
问题在你的第一行:
没有任何名为books的变量传递到html
试试
对于书中的fo
(我想添加此作为评论,但我不能)
相关问题 更多 >
编程相关推荐