Dea*_*dly 1 django django-views
当用户未登录时,应将其重定向到登录页面.
if not request.user.is_authenticated()
# redirect to the login page
Run Code Online (Sandbox Code Playgroud)
但是必须在每个视图中编写此代码.有一种方法只能为所有视图编写一次公共代码吗?
又如何@login_required装饰?https://docs.djangoproject.com/en/dev/topics/auth/#the-login-required-decorator
你可以用一块中间件来做:
class RequireLoginMiddleware(object):
def process_request(self, request):
if not request.user.is_authenticated():
return HttpResponseRedirect('/login/')
return None
Run Code Online (Sandbox Code Playgroud)
当然,您不希望为登录页面本身执行此操作:
class RequireLoginMiddleware(object):
def process_request(self, request):
if request.path.startswith('/login'):
return None
if not request.user.is_authenticated():
return HttpResponseRedirect('/login/')
return None
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |