ImportError: cannot import name 'login' from 'django.contrib.auth.views'

python版本:

Django版本: 3.0.3

报错信息:

  File "D:\python_work\learning_log\users\urls.py", line 4, in <module>
    from django.contrib.auth.views import login
ImportError: cannot import name ‘login‘ from ‘django.contrib.auth.views‘ (D:\python_work\learning_log\ll_env\lib\site-packages\django\contrib\auth\views.py)

源代码:

"""为应用程序users定义URL模式"""

from django.conf.urls import url
from django.contrib.auth.views import login

from . import views

urlpatterns = [
    # 登录页面
    url(r‘^login/$‘,login,{‘template_name‘:‘users/login.html‘},
        name=‘login‘),
]

原因:

从 django-1.11开始,基于函数的登录,注销等视图已被重写为基于类的视图: LoginView 和 LogoutView类,如 release notes中所指定的那样.仍然可以使用“旧的”基于函数的视图,但是被标记为已弃用.

在django-2.1中,已删除旧的基于功能的视图,如release notes中所述.

解决办法:

"""为应用程序users定义URL模式"""

from django.conf.urls import url
from django.contrib.auth.views import LoginView

from . import views

urlpatterns = [
    # 登录页面
    url(r‘^login/$‘,LoginView.as_view(template_name=‘users/login.html‘),
        name=‘login‘),
    #path(‘login/‘, LoginView.as_view(template_name=‘users/login.html‘), name="login"),
]

app_name =‘users‘

ImportError: cannot import name 'login' from 'django.contrib.auth.views'

原文地址:https://www.cnblogs.com/wenshuifan/p/12335227.html

时间: 2024-10-30 05:00:29

ImportError: cannot import name 'login' from 'django.contrib.auth.views'的相关文章

Django 编写博客网站的用户管理部分(采用自有的 django.contrib.auth) 1. 注册部分

项目工具:Python 2.7.11  Django 1.10.2  Bootstrap 3.3.0   IDE:eclipse Pydev 1. 首先确保settings中已有'django.contrib.auth' 例如: myproject下settings 1 INSTALLED_APPS = [ 2 'account', 3 'django.contrib.admin', 4 'django.contrib.auth', 5 'django.contrib.contenttypes'

Django 编写博客网站的用户管理部分(采用自有的 django.contrib.auth) 2. 登陆登出和用户信息管理

续前Django 编写博客网站的用户管理部分(采用自有的 django.contrib.auth) 1. 注册部分 项目工具:Python 2.7.11  Django 1.10.2  Bootstrap 3.3.0   IDE:eclipse Pydev 1. 由于Django自带auth, 故仅需编写登录登出的url和template即可 urls常见上篇 template代码如下仅供参考: login 1 {% extends "account_base.html" %} 2 3

Django 之 auth 模块

Django 内置一个 auth 模块,帮助用户实现注册.登录.注销以及修改密码等功能,帮助开发者省去了很多功夫. auth 模块 在创建模型时,Django内部会生成一个名为 auth_user 的数据表,用于存储认证的用户信息. auth 模块提供了一系列的方法,使用之前需要导入: from django.contrib import auth authenticate() 方法 提供用户认证功能,验证用户名和密码是否正确等.如验证成功,则返回一个 User 对象. from django.

django 内置模块auth的login与authenticate功能简单测试

index页加装饰器@login_required需要登陆才能查看user= authenticate(username=username,password=password)返回user对象若返回user对象,登陆login(request,user),之后可以访问index from django.shortcuts import render,HttpResponse,redirect,HttpResponseRedirect # Create your views here. from

Django 使用allauth报错 RuntimeError: Model class django.contrib.sites.models.Site doesn&#39;t declare an explicit app_label and isn&#39;t in an application in INSTALLED_APPS

一:报错 RuntimeError: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS 出现这种情况需将Django的Sites框架添加到您的应用程序中,并在您的设置中将SITE_ID设置为1即可.位置放在默认配置的后面,其他应用的前面. INSTALLED_APPS = [ 'django

django 的auth.authenticate返回为None

使用auth.authenticate(username= username,passowrd=passowrd),这个用户认证时候,明明数据库中有记录,但是返回就None 我的错误点比较多: 1.我创建的用户名和密码,并没有添加到在auth_user(django自带的表)中,而是放进了通过modely映射生成的表,从而导致auth.authenticate()根本查不到响应的数据 2.插入数据用户名密码时应该用User.objects.create_user(username=usernam

django的auth认证,is_authenticate 和装饰器的2个方法,注销的功能,

在django中创建表,会自动创建一些django自带的表,先了解用户认证, 认证登录  先要引用  , from django.contrib import auth 有很多方法, 网站先有登录和认证, authenticate(),提供用户认证,验证用户名和密码是否正确,一般需要username ,password两个关键字参数, 认证信息有效,返回有一个User对象.authrenticate()会在User对象上设置一个属性标识,认证了该用户, 创建一个Book表,然后生成数据库 fro

Django 视图系统(views)

介绍 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面. 除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中. 视图示例 下面是一

Django之auth模块(用户认证)登陆组件

auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的登录信息是否存在于数据库中. 除此之外,auth还对session做了一些封装,方便我们校验用户是否已登录 auth里的方法 如果想使用auth模块的方法,必须要先导入auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法