是否可以在urls.py中执行此类操作?
答案 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等)。