url_for
是否可以跨藍圖工作?使用url_for藍圖
/flaskapp
/runserver.py (from server import app; app.run(debug=True))
/server
/__init__.py (app = Flask(__name__))
/pages
/__init__.py ('pages' blueprint)
/users
/__init__.py ('users' blueprint)
在
server/__init__.py
:
from server.pages import pages
from server.users import users
app = Flask(__name__)
app.register_blueprint(pages)
app.register_blueprint(users)
在server/pages/__init__.py
:
pages = Blueprint('pages', __name__)
@pages.route('/')
def index(): return '<h1>Index</h1>'
在server/users/__init__.py
:
users = Blueprint('users', __name__)
@users.route('/login')
def login():
...
return redirect(url_for('pages.index'))
^^^^^^^^^^^^^^^^^^^^^^
的url_for
通話提高BuildError: ('pages.index', {}, None)
什麼是將達到'pages.index'
?
(我嘗試導入模塊,但沒有工作)
我試過你的例子Flask 0.10.1,我無法重新創建問題。這看起來像是應該起作用的,也許你已經拋棄了一些實際上很重要的代碼?如果可能,請嘗試在單個python文件中重新創建問題併發布該python文件。另外,在你的app.debug之前,打印到控制檯'app.url_map',它將列出端點的所有規則。 –