为什么在使用蓝图后无法生成url

时间:2016-08-29 04:16:12

标签: python flask jinja2

我目前的项目如下:

├── __init__.py
├── pages
├── settings.py
├── static
├── templates
│   ├── article.html
│   ├── base.html
│   ├── index.html
│   └── posts.html
├── view
│   ├── article.py
│   ├── home.py
│   ├── index.py
│   └── postwall.py

我将views.py(不再在项目中)分解为文件,这些文件不再动态生成url。我在article.py中的内容是:

from flask import Blueprint, render_template
from app import articles
article = Blueprint('article',__name__)

@article.route('/article/<path:path>/')
def page(path):
    article = articles.get_or_404(path)
    return render_template('article.html',page=article)

与此同时,提供文章链接按钮的posts.html不再适用:

<a href="{{ url_for('page', path=page.path) }}">More -></a>

问题是什么?我错过了蓝图文件中的内容吗?

1 个答案:

答案 0 :(得分:2)

解决。变化

<a href="{{ url_for('page', path=page.path) }}">More -></a>

<a href="{{ url_for('article.page', path=page.path) }}">More -></a>

忘了添加蓝图名称