【django4】简单注册/登陆/注销功能
来源:互联网 发布:新致软件 编辑:程序博客网 时间:2024/06/03 17:10
Python版本3.5,django版本1.10
1 新建项目
django-admin.py startproject website1
2 启动服务器,查看是否正常
manage.py runserver
3 进入工程website1一级文件夹下新建app
python manage.py startapp account
4 将新建立的app加入工程中
修改 website1/website1/settings.py的INSTALL_APPS,将app名称加入该元组中。
5 修改website1/urls.py文件
from django.conf.urls import url, includefrom account import views as account_viewsurlpatterns = [ url(r'^index/', account_views.index), # 用户主界面 url(r'^register/', account_views.register), # 注册界面 url(r'^login/', account_views.login), # 登陆界面 url(r'^logout/', account_views.logout), # 注销界面]
6 修改views.py
from django.shortcuts import renderfrom .models import UserModelfrom django.http import HttpResponseRedirect# Create your views here.def index(request):s = request.session.get('username', default=None)if s:return render(request, 'account/index.html', {'username':s}) # 跳转至用户主界面else:return HttpResponseRedirect('/login')def register(request):if request.method == 'POST': # 用户输入账户密码后提交表单username = request.POST['username']password = request.POST['password']UserModel.objects.create(username=username, password=password) # 写入数据库return render(request, 'account/regok.html')else: # 用户直接访问注册页面return render(request, 'account/register.html')def login(request):if request.method == 'POST': # 用户输入账户密码后提交表单username = request.POST['username']password = request.POST['password']hasUser = UserModel.objects.filter(username=username, password=password)if hasUser: # 该用户存在request.session['username'] = username # 保存用户名在session中return render(request, 'account/index.html', {'username':username}) # 跳转至用户主界面else:return render(request, 'account/login.html')else: # 用户直接访问登陆页面return render(request, 'account/login.html')def logout(request):try:del request.session['username'] # 将用户名从session中删除except KeyError:passreturn render(request, 'account/logout.html')
7 编写HTML
index.html
<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>用户中心</title></head><body>欢迎您,{{username}}<a href="/logout">退出</a></body></html>
login.html
<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>登陆</title></head><body><h2>请登陆</h2><form method="post">{% csrf_token %}用户:<input name="username" type="text" ><br/>密码:<input name="password" type="password" ><br/><input type="submit" value="登陆" ></form></body></html>
register.html
<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>注册</title></head><body><form method="post">{% csrf_token %}用户:<input name="username" type="text" ><br/>密码:<input name="password" type="password" ><br/><input type="submit" value="注册" ></form></body></html>
regok.html
<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>注册成功</title></head><body><h2>注册成功!</h2>点击<a href="/login">这里</a>跳转至登陆界面</body></html>
logout.html
<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>注销</title></head><body>已注销!</body></html>
8 models.py中的模型
from django.db import models# Create your models here.class UserModel(models.Model):username = models.CharField(max_length=30)password = models.CharField(max_length=30)def __str__(self):return self.username+", "+self.password
系统并没有对注册和登陆的输入进行检测,也没有对重复注册进行检测,用session变量判断用户是否登陆。
其实,django中自带了很多模块可以快速建立用户注册登录系统,相关模块如下;
Froms模块,代替表单中的输入部分,对输入进行检查
User模块:代替上文中自己编写的UserModel模型,具有更多字段
auth模块:对用户输入进行验证
login模块:代替上文中session变量部分,django自动判断用户是否登陆或注销
下一篇文章将介绍如何应用Django自带模块构建用户注册登录系统。
0 0
- 【django4】简单注册/登陆/注销功能
- javaWeb注册,登陆,注销功能的实现
- C语言实现简单注册登陆功能
- XMPP实现登陆注销功能
- SSM基础-完成用户注册,登陆,注销,增删查改,编辑功能
- 一个用户注册登陆注销的示例
- JSP用户注册登陆注销JSP页面
- 关于用户注册、登陆、注销小项目
- JSP用户注册登陆注销JSP页面
- XMPP协议的使用(注册,登陆,注销)
- JSP用户注册登陆注销JSP页面
- python 04 用户注册、注销、登陆
- python和sqlite3数据库初探(简单登陆注册功能)
- SpringBoot+thymeleaf简单实现登陆注册及记账功能
- SpringBoot实现简单的注册与登陆功能
- 网站注册登录注销功能实现
- 注销登陆
- 登陆、注销
- win10上安装tensorflow注意事项
- Java复习之进程与线程
- SGD, AdaDelta, Ada-Grad, Adam, NAG, RMSprop 六种梯度下降方法横向对比
- UML图详解
- 关于Unicode和ANSI字符集处理
- 【django4】简单注册/登陆/注销功能
- Android Studio 2.3 正式版新功能,你不来看看?!
- 深入分析计算机的函数调用与进程切换
- Android之RootTools框架简单使用
- 【学记】这个部分叫做熬
- telnet开启本地回显功能
- 微信jsApiSdk对接
- 常用code
- 关于MVC架构的深入思考-发现自己错误