내가 add_url_rule
플라스크 청사진 add_url_rule
의 방법으로 플라스크 청사진을 사용하려고 할 때 내가 청사진에 갇혀 있어요을 사용하여 여기 내 플라스크 프로젝트 구조입니다 : main.py에서
myapp
... __init__.py
... app.py
... model
... static
... views
...... main.py
... templates
...... base.html
...... results.html
,
0,123,776 :from flask import Flask, url_for, Blueprint
main_bp = Blueprint('main', __name__)
def home():
return redirect(url_for('main.results'))
def results():
# some code
return render_template('result.html')
내 app.py에서
는, 여기에 코드 것 : 여기 내 코드입니다 내가 을 사용하고 때Traceback (most recent call last):
File "/Users/deamon/venv/src/staticngclient/staticng_client/middlewares/wsgi.py", line 25, in __call__
return app(environ, start_response)
File "/Users/deamon/venv/src/daeprofiling/dae_profiling/middleware.py", line 24, in __call__
return self.app(environ, start_response)
File "/Users/deamon/venv/src/doubancommonlib/douban/common/middleware/content_filter.py", line 18, in __call__
app_iter = self.application(environ, response.start_response)
File "/Users/deamon/dae/app/web.py", line 77, in __call__
return handler(environ, start_response)
File "/Users/deamon/Projects/dae/dae/handlers/__init__.py", line 65, in __call__
return self.app(environ, start_response)
File "/Users/deamon/Projects/dae/dae/handlers/web.py", line 46, in __call__
return self._app(*a, **kw)
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/deamon/kiwi/views/main.py", line 19, in home
return redirect(url_for('main.results'))
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/helpers.py", line 312, in url_for
return appctx.app.handle_url_build_error(error, endpoint, values)
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/app.py", line 1641, in handle_url_build_error
reraise(exc_type, exc_value, tb)
File "/Users/deamon/venv/lib/python2.7/site-packages/flask/helpers.py", line 305, in url_for
force_external=external)
File "/Users/deamon/venv/lib/python2.7/site-packages/werkzeug/routing.py", line 1678, in build
raise BuildError(endpoint, values, method)
BuildError: ('main.results', {}, None)
또한, 같은 base.html 또는 results.html, 같은 MYE 템플릿에서 :
내가 색인 페이지를 방문하고, 나는 항상 다음과 같은 오류 메시지를 받았습니다
<a class="navbar-brand" href="{{ url_for('main.home') }}">kiwi</a>
같은 오류가 발생합니다.
누군가 도움을 줄 수 있습니까?
감사합니다. 'main_bp.add_url_rule (...) '을 사용하고 싶지만 코드가 작동하지 않습니다. 여기에'main.py'에 내 코드가 있습니다 :'main_bp.add_url_rule ('/', view_func = home)','view_func = home'이 올바르지 않다는 것을 알고 있지만, 나는 옳은 것이 무엇인지 모르겠습니다. 제 코드를 정정 해 주시겠습니까? – shitoujizu
@shitoujizu는 내 게시물 끝에 add_url_rule을 사용하여 작업 예제를 추가했지만 훨씬 간단하게 데코레이터 구문을 사용해야합니다.문제가 있으면 오류 로그를 게시하십시오. – MadRabbit
나는 그것을 얻었다. 'decorator'와'add_url_rule'모두 당신의 예제와 함께 작동합니다. 당신은 내 문제를 해결했습니다. 고마워. – shitoujizu