检查用户是否在urls.py中进行了身份验证

时间:2014-08-07 17:36:02

标签: python ajax django authentication

是否可以在urls.py中执行此类操作?

urls.py: http://pastebin.com/raw.php?i=QVQ8BEvJ

2 个答案:

答案 0 :(得分:1)

这不是实施它的正确方法。
最好的解决方案是使用@login_requered装饰器包装您的视图。

示例:

@login_required
def home_page(request):
     ...

您可以在settings.py LOGIN_URL中指定,如果未经授权,将重定向用户。 请阅读更多at django documentation

答案 1 :(得分:0)

应在视图中执行身份验证检查,这些检查和安全性存在于其中。

除此之外,您可以在网址中修饰基于类的视图以检查登录,但最常见/明智/通常的方法是在视图中进行检查。 如果您使用的是基于类的视图,那么您可以创建一个Mixin来检查用户是否经过身份验证,这与Django提供的工具相结合,允许您将用户重定向到适当的视图(登录,或者如果检查通过,则允许他查看请求的网址。)

如果您正在使用基于功能的视图,那么Django为这些功能提供装饰器以提供常见的"需求"一个Web框架。

PS如果你正在使用CBV,那么django-braces已经有一些很棒的mixin可用于常见任务(Ajax,Security等)。