基模板为 layout.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>
{% block title %}
{% endblock %}
</title>
</head>
<body>
<div class="navbar navbar-inverse">
<div class="container">
{# 标题 #}
<div class="navbar-header">
</div>
{# 页面内容区域 #}
<div class="row">
{% block dataarea %}
{% endblock %}
</div>
</div>
<footer>
{% block scripts %}
{% endblock %}
</footer>
</body>
</html>
同样的 jinja2 模板代码 ( 我直接 复制粘贴 的 ) , 在两个控制器函数中返回的视图却一个可以正常显示, 另一个会将 <head></head> 中的所有元素渲染到 body 的最开始位置 , 这是为什么呢? 控制器都是正常的 return render_template
渲染异常的
@app.route('/usermanage/<jbnum>')
def user_manage(jbnum):
u = load_user(jbnum)
return render_template("auth/manage.html",user = u)
渲染正常的
@app.route('/login',methods=['GET','POST'])
def user_login():
if request.method == 'GET':
return render_template('auth/login.html')
else:
job_num = request.form.get('job_number',type=str)
pwd = request.form.get('pwd',type=str)
remember = request.form.get('remember_me',type=bool)
logInfo = users_manager.check(job_num,pwd)
if logInfo == True:
login_user( load_user(job_num),remember)
return redirect('/')
else:
return render_template('auth/login.html',errormsg=logInfo)