首先实现登录:
在urls.py中引入模板
from django.contrib.auth.views import LoginView#新版本django登录视图
urlpatterns=[
path('login/',LoginView(template_name='appname/htmlname'),name='htmlname')#此时,我们使用模板渲染页面,其中template_name=传参为被渲染的模板
]
此时在login.html中,写入form表单
from django.contrib.auth import logout,login,authenticate#引入登录等模块
from django.contrib.auth.forms import UserCreationForm#引入创建用户需要填写的表单
from django.core.urlresolvers import reverse#引入重定向
from django.http import HttpResonseRedirect
def register(request):
if request.method !='POST':#判断是否提交表单,如果不是,创建一个表单对象
form=UserCreationForm()
else:
form=UserCreationForm(data=request.POST)#将填写的数据填充到表单中
if form.is_valid():#检查用户上传的数据是否合法
form.save()#数据合法后,保存到数据库
new_user=authenticate(username=new_user.username,password=request.POST['password1'])#authenticate返回是一个通过身份验证的对象,传参值为username,password,其中password用户输入两次,所以传参时,需要password1
login(request,new_user)#将注册的用户自动登录
retuern HttpRespnseRedirect(reverse('appname:htmlname'))#重定向页面,自动跳转
return render(request,'appname/htmlname',{'form':form})#渲染页面,并且将form表单传入html页面中
注销页面:
urls.py中与正常视图写法相似
在views.py中:
from django.contrib.auth import logout#引入注销模块
def logout(request):
logout(request)
return HttpRespnseRedirect(reverse('appname:htmlname'))#跳转到指定页面
django登录注册注销源代码,可以分享
个人学习总结,如有错误,敬请指正