一个简单原始的限制方法是检查 request.user.is_authenticated(),然后重定向到登陆页面:
from django.http import HttpResponseRedirect def my_view(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/accounts/login/?next=%s' % request.path) # ...
def my_view(request): if not request.user.is_authenticated(): return render_to_response('myapp/login_error.html') # ...
作为一个快捷方式,你可以使用便捷的 login_required 修饰符:
from django.contrib.auth.decorators import login_required @login_required def my_view(request): # ...
login_required 做下面的事情:
如果用户没有登录,重定向到 /accounts/login/,把当前绝对URL作为 next 在查询字符串中传递过去,例如: /accounts/login/?next=/polls/3/ 。
如果用户已经登录,正常地执行视图函数。 视图代码就可以假定用户已经登录了。
=
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。