《Python编程从入门到实践》程序问题“TypeError:cannot import name 'login'”

在学习《Python编程从入门到实践》中

经常会因为python编译器和Django的版本不同,出现程序Bug,下面总结一个典型Bug:

关于TypeError:cannot import name ‘login’问题解决

原文
“”" 为应用程序 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’),
]


方法一:

(只针对python 3.7 Django 2.1)
修改后

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

from django.contrib.auth.views import LoginView
from .import views

app_name=‘users’

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

]

方法二:

(只针对python 3.6 Django 2.1)
修改后

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

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”),

]

 

在2.1版本,基于登录的、注销等基于功能的视图已被重新使用之前版本URL:longin在2.1变为LoginView
All authentication views

This is a list with all the views django.contrib.auth provides. For implementation details see Using the views.

class LoginView
URL name: login

See the URL documentation for details on using named URL patterns.

附带Django2.1官方文档地址

                                            

扫码关注本人微信公众号,有惊喜奥!公众号每天定时发送精致文章!回复关键词可获得海量各类编程开发学习资料!

例如:想获得Python入门至精通学习资料,请回复关键词Python即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值