1
나는 forbidden_view_config를 사용하여 클라이언트에 도전 할 피라미드 1.8을 사용하는 기본 응용 프로그램을 가지고 있습니다. 내 views.py에서피라미드 1.8 forbidden_view_config 반환 404
내가 가진 :
내 init.py에서from pyramid.view import view_config
from pyramid.view import forbidden_view_config
from pyramid.httpexceptions import HTTPUnauthorized
from pyramid.security import forget
@view_config(route_name='home', renderer='templates/mytemplate.jinja2')
def my_view(request):
return {'project': 'odkchallenge'}
@forbidden_view_config(route_name='carlos')
def auth_view(request):
response = HTTPUnauthorized()
response.headers.update(forget(request))
return response
내가 가진 :
from pyramid.config import Configurator
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings)
config.include('pyramid_jinja2')
config.add_static_view('static', 'static', cache_max_age=3600)
config.add_route('home', '/')
config.add_route('carlos', '/carlos')
config.scan()
return config.make_wsgi_app()
하지만 http://localhost:6543/carlos에 갈 때 내가 얻을 :
(404) 찾을 수 없음 리소스를 찾을 수 없습니다. 내가 forbidden_view_config에 대한 문서에서 찾고 그것을 view_config 같이해야
/카를로스. view_config/carlos로 변경하면 404가 반환되지 않습니다. 그 이유는 무엇입니까? 또는 내가 무엇을 포함시켜야 하는가?
조금 더 설명 할 수 있습니까? 보기에 사용 권한을 추가하려면 어떻게합니까? 아니면 나를 어디로 안내 할 수 있니? – QLands
금지 된보기는 앱에서'HTTPForbidden' 예외가 발생했을 때 실행됩니다. 수동으로 할 수 있습니다. 또는 pyramid의 인증 시스템을 사용하여보기 권한'@view_config (permission = ..)'에 따라 자동으로 예외를 발생시킬 수 있습니다. Pyramid의 sqlalchemy + url 디스패치 자습서는이 양이 적지 만 아직 읽지 않은 경우 읽을 가치가 있습니다. –