我的某个模板( offers_overview.html )未正确继承我的 base.html 模板。相反,它只输出 offers_overview.html 中给出的html而不使用 base.html 中的html。
我有另一个模板( customer_overview.html ),其中包含与offers_overview.html完全相同的html,并且它完全可以扩展base.html。这让我感到困惑。 我做错了什么?
以下是我的views.py对 offers_overview 的看法:
@mod.route('/<username>/<int:inquiry_id>', methods=['GET', 'POST'])
@login_required
def show_offers_overview(username, inquiry_id):
user = Customers.query.filter_by(cusername=username).first()
inquiry = Inquiry.query.filter_by(iid=inquiry_id).first()
if (user or inquiry) is None:
flash('User %s or inquiry %s is not found.' % (username, inquiry_id))
return redirect(url_for('user.user_overview', username=user.cusername))
return render_template('offers_overview.html', inquiry=inquiry)
以下是 customer_overview 的views.py外观:
@mod.route('/<username>', methods=['GET', 'POST'])
@login_required
def user_overview(username):
user = Customers.query.filter_by(cusername=username).first()
if user is None:
flash('User %s not found.' % username)
return redirect('/user/login')
return render_template('customer_overview.html', customer=user)
这是offers_overview.html:
{% extends 'base.html' %}
{% block title %}Offers overview{% endblock title %}
{% block body %}
<h2>Not important {{ inquiry.worktitle }}</h2>
<br>
<h3>Future</h3>
<br>
<h3>Present</h3>
<br>
<h3>Past</h3>
{% endblock body %}
与customer_overview.html中的代码完全相同,但查询被更改为客户。
我尝试将要在 show_offers_overview()中呈现的模板更改为customer_overview。结果是子模板没有继承基本模板。
更新 这就是模板的结构:
|project\
|app\
|templates\
|--base.html
|user\
|templates\
|--customer_overview.html
|--offers_overview.html
|--__init__.py
|--views.py