我使用Flask(作为框架)和MongoDB(作为数据库服务器)。现在,我所能做的就是传递一个从数据库中获得的参数:
@app.route('/im/', methods=['GET', 'POST'])
def im_research(user=None):
error = None
if request.method == 'POST':
if request.form['user']:
user = mongo.db.Users.find_one_or_404({'ticker':request.form['user']})
return redirect(url_for('im_user',user= user) )
else:
flash('Enter a different user')
return redirect(url_for('im'))
if request.method == 'GET':
return render_template('im.html', user= None)
我如何从数据库中传递多个变量:例如:在我的Mongo数据库中:我的数据库中有这些东西,我想把它们都传递给我的模板。
{
users:'xxx'
content:'xxx'
timestamp:'xxx'
}
使用Flask可以做到这一点吗?
发布于 2012-08-24 01:07:25
您可以向视图传递多个参数。
您可以传递所有的局部变量
@app.route('/')
def index():
content = """
teste
"""
user = "Hero"
return render_template('index.html', **locals())
或者只是传递数据
def index() :
return render_template('index.html', obj = "object", data = "a223jsd" );
发布于 2019-07-01 04:56:44
还可以将列表传递给render_template的上下文变量,并在HTML中使用Jinja的语法引用其元素。
example.py
mylist = [user, content, timestamp]
return render_template('exemple.html', mylist=l)
exemple.html
...
<body>
{% for e in mylist %}
{{e}}
{% endfor %}
</body>
...
https://stackoverflow.com/questions/12096522
复制相似问题