【发布时间】:2016-01-31 07:28:19
【问题描述】:
这是我的模板代码(menu.html):
<html>
<body>
<h1>{{restaurant.name}}</h1>
{% for i in items %}
<div>
<p>{{i.name}}</p>
<p>{{i.description}}</p>
<p> {{i.price}} </p>
<a href='{{url_for('editMenuItem', restaurant_id = restaurant.id, menu_id = i.id) }}'>Edit</a>
</br>
<a href = '{{url_for('deleteMenuItem', restaurant_id = restaurant.id, menu_id = i.id ) }}'>Delete</a>
</div>
{% endfor %}
</body>
</html>
这是我调用render_template()函数的代码:
@app.route('/')
@app.route('/restaurants/<int:restaurant_id>/')
def restaurantMenu(restaurant_id):
restaurant = session.query(Restaurant).filter_by(id=restaurant_id).one()
items = session.query(MenuItem).filter_by(restaurant_id=restaurant.id)
return render_template('menu.html',restaurant=restaurant,items=items)
进口:
from flask import Flask, render_template, url_for
我的问题是我的 Edit 和 Delete 锚标记根本没有被渲染!为什么会这样?
编辑:1
事实上,我在menu.html 中所做的任何更改都不会改变!即使它像添加静态文本一样简单。
【问题讨论】:
-
您确定没有
menu.html的两份副本吗?可能在另一个文件夹中? -
我不知道 Flask,但尝试将外部单引号更改为双引号。
<a href="{{url_for('editMenuItem', ... }}">Edit</a> -
@PM2Ring :我想这就是问题所在!需要双引号!请回答问题,我将其标记为answer
-
@AbhishekGhosh:好的,虽然我觉得impostor 在回答 Flask 问题。 :)
-
我刚刚被告知我的回答不能解决您的实际问题。
标签: python html flask-sqlalchemy url-for