我的大部分观点都需要登录。有没有办法在继续之前指定所有视图或视图子集必须具有用户is_authenticated()= True。如果没有,用户将被重定向到登录页面?
答案 0 :(得分:2)
https://docs.djangoproject.com/en/1.4/topics/auth/#the-login-required-decorator
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
...
答案 1 :(得分:1)
如果您愿意,您必须遵守一些规则,
request.user
设置在AuthenticationMiddleware
上,因此在此之前放置自定义中间件会失败。process_view
方法,该方法在您的视图被调用之前执行但是,不知何故;您必须制作一种类似登录免费视图的列表,但这不太可能,因为每次创建新视图时检查列表可能都有问题。另一方面,login_required
装饰工作就像这样,它更容易使用......所以你必须在做这样的事情之前三思而后行,并考虑你是否真的需要这样的东西
以下是doc for Custom Middlewares,这里的django defalut middleware classes非常重要,因为middelware类的顺序非常重要。