在 Pyramid 应用程序中如何在根 url 处呈现已登录用户的仪表板?未登录时,根 url 会显示登录表单。
搜索后我只找到了其他框架的示例。
最佳答案
你可以简单地做:
@view_config(route_name='home', renderer='dashboard.jinja2')
def home_view(request):
if request.authenticated_userid is None:
# most people would probably opt to redirect to the login url
# here instead of rendering a response, but you asked
return render_to_response('login.jinja2', {}, request=request)
# user is logged in, so use the dashboard renderer
return {}
但是, Pyramid 很酷并且有谓词。整洁的。所以我们可以使用 effective_principals
谓词根据用户是否登录在 2 个不同的 View 之间进行调度:
from pyramid.security import Authenticated
@view_config(route_name='home', effective_principals=Authenticated, renderer='dashboard.jinja2')
def dashboard_view(request):
return {}
@view_config(route_name='home', renderer='login.jinja2')
def login_from_home_view(request):
return {}
关于python Pyramid ,登录时在根 url 呈现用户仪表板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960584/