Django cannot import login from django.contrib.auth.views

前端 未结 5 1687
长发绾君心
长发绾君心 2020-12-01 10:38

I try to build a login function for my page. To edit the urls.py as followed, it keeps printing this:

cannot import name \'login\' from \'django.contrib.

5条回答
  •  佛祖请我去吃肉
    2020-12-01 11:23

    Since django-1.11, the login, logout, etc. function-based views have been rewritten to class-based views: the LoginView [Django-doc] and LogoutView [Django-doc] classes, as is specified in the release notes. The "old" function-based views could still be used, but were marked as deprecated.

    In django-2.1, the old function-based views have been removed, as specified in the release notes.

    You can write it like:

    from django.contrib.auth.views import LoginView
    
    from django.urls import path
    from . import views
    app_name = "users"
    urlpatterns = [
        path('login/', 
            LoginView.as_view(
                template_name='users/login.html'
            ), 
            name="login"
        ),
    ]

提交回复
热议问题