Django2.x版本与1.x版本内置函数登陆视图不同地方。

本文介绍从Django1.10到Django2.0,内置登陆视图由函数变为类(LoginView)的过程。在Django2.0中,通过as_view方法及传递template_name参数自定义登录页面。

学习《跟老齐学Python Django实战》一书的内容时,书中介绍了使用内置的登陆视图函数来实现登陆,这样可以省去编写这个视图函数的麻烦,作者使用的是Django1.10,内置视图的位置是django.contrib.auth.views.login,这是一个函数,如果使用的Django是版本是1.0的,按照书中的方法使用应该没有任何问题。但是如果使用的是Django2.0呢?

Django2.0的内置登陆视图不再是函数,而是类,位置在django.contrib.auth.views.LoginView。

在这里插入图片描述
类视图有个as_view方法,这个方法来自父类,位置在django.views.generic.base.View.as_view。

template_name是类视图中的一个变量,默认值是’registration/login.html’,通过向as_view传入参数template_name='account/login.html’可以修改这个变量值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值