Django1.11 用户注册登录(1)
2017-07-22 12:06
337 查看
添加注册登录这个功能,我们就要用到models ,views ,url ,templates。
register
login
将以上表单贴入html
action=”{% url ‘login’ %}” 以及action = {% url ‘register’ %},关联的是 urls.py 文件中 url()的name属性的全局作用。
创建一个User表格,再数据库里的表格名 为 APP名 + User。如app 名为 taobao , 表格名为 taobao_user
templates 模板
我们先写两个 html 页面。register
<form action="{% url 'register' %}" method="post" accept-charset="utf-8"enctype="multipart/form-data" > {% csrf_token %} <input type="text" name="username"id="username" placeholder="请输入手机号" > <input type="password" name="password" id="password" placeholder="请输入6-12位密码" > <input type="submit" class="submit" value="立即注册"> </form>
login
<form action="{% url 'login' %}" method="post" accept-charset="utf-8" enctype="multipart/form-data"> {% csrf_token %} <input type="text" name="username" id="username" placeholder="手机号码" > <input type="password" name="password" id="password" placeholder="登陆密码" value="" > <input type="submit" value="立即登录"> </form>
将以上表单贴入html
action=”{% url ‘login’ %}” 以及action = {% url ‘register’ %},关联的是 urls.py 文件中 url()的name属性的全局作用。
models.py 创建数据库表格
from django.db import models # Create your models here. class User(models.Model): username = models.CharField(max_length=21) password= models.CharField(max_length=21)
创建一个User表格,再数据库里的表格名 为 APP名 + User。如app 名为 taobao , 表格名为 taobao_user
创建一个表单的样式
在app 下创建一个 forms.py文件from django import forms class UserForm(forms.Form): username = forms.CharField(max_length=30) password = forms.CharField(max_length=50)
views 视图
from taobao.models import User # taobao 是 app名 from .forms import UserForm #注册 @csrf_exempt def register_view(req): context = {} if req.method == 'POST': form = UserForm(req.POST) if form.is_valid(): #获得表单数据 username = form.cleaned_data['username'] password = form.cleaned_data['password'] #添加到数据库(还可以加一些字段的处理) User.objects.create(username=username, password=password) #添加到session req.session['username'] = username #重定向到首页 return redirect('/') else: context = {'isLogin':False} #将req 、页面 、以及context{}(要传入html文件中的内容包含在字典里)返回 return render(req,'register.html',context) #登陆 @csrf_exempt def login_view(req): context = {} if req.method == 'POST': form = UserForm(req.POST) if form.is_valid(): #获取表单用户密码 username = form.cleaned_data['username'] password = form.cleaned_data['password'] #获取的表单数据与数据库进行比较 user = User.objects.filter(username = username,password = password) if user: #比较成功,跳转index req.session['username'] = username return redirect('/') else: #比较失败,还在login context = {'isLogin': False,'pawd':False} return render(req, 'login.html', context) else: context = {'isLogin': False,'pswd':True} return render(req, 'login.html', context) #登出 def lo 4000 gout_view(req): #清理cookie里保存username req.session.flush() return redirect('/')
urls.py
直接上代码,name 中对应templates 中的 表单中的actionurl(r'^login$', views.login_view,name='login'), url(r'^logout', views.logout_view), url(r'^register$', views.register_view,name='register'),
相关文章推荐
- Django 1.11 用户注册登录(2) 用自带的auth模块
- Django小白教程之Django用户注册与登录
- Django实现用户注册登录
- django实现用户注册、登录、退出
- Django学习笔记4 用户注册和身份验证、登录、注销、注册
- Django用户登录与注册——小白教程
- Django笔记---用户注册和登录验证(2)--数据库储存
- django开发(3)-用户登录注册和认证
- python django 用户注册验证登录。。。
- Django笔记---用户注册和登录验证(1)--Post请求
- django用户注册、登录、注销和用户扩展
- django实战--天天生鲜项目开发(用户注册-登录-用户中心)
- Django 实现用户注册和登录
- 转载django用户注册、登录、注销和用户扩展
- django用户注册、登录、注销和用户扩展的示例
- django的用户注册登录界面设置
- Django 1.11 前端数据异步加载(前端页面单独请求用户登录状态)
- Django小白教程之Django用户注册与登录
- Django-1.10支持中文用户注册登录
- XMPP系列(二)----用户注册和用户登录功能