【Python】【Django】用户注册功能
GET方法前置步骤做完
stu.models.py
再其中创建需要用到的字段及对应数据库的表
# -*- coding: utf-8 -*-
from __future__ import unicode_literals from django.db import models # Create your models here.
class Student(models.Model):
sname = models.CharField(max_length=30, unique=True)
spwd = models.CharField(max_length=30) class Meta:
db_table = 't_student'
db.sqlite3--用pycharm自带的数据库
右键链接数据库

进入默认ok--connection测试链接(successfully)--apply-ok
点击右侧Database进入数据库

既然我们系统有很多默认的系统应用app,那么就一定有很多对应的数据库表,下面我们先把系统默认app映射到我们右侧的数据库中

进入Terminal,敲入命令>python manage.py后会弹出很多Terminal可以用到的命令,如果忘记了,可以输入此命令去查询
以下为python manage.py中所有可以用到的命令
Type 'manage.py help <subcommand>' for help on a specific subcommand. Available subcommands: [auth]
changepassword
createsuperuser [contenttypes]
remove_stale_contenttypes [django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations #创建左侧文件夹migrations迁移到我们的应用app中
migrate #将现有的表映射到数据库
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp #创建应用
startproject #创建项目
test
testserver [sessions]
clearsessions [staticfiles]
collectstatic
findstatic
runserver #启动服务器
在Terminal输入如下命令,将现有的应用对应的表映射到数据库
>python manage.py migrate
刷新数据库,多了系统表

下一步,我们将我们自己的model映射数据库表

看上方会自动生成出自己model的迁移文件

将我们自己项目,根据迁移文件映射到数据库表中
我们也可以通过一个语句去查看对应迁移文件生成的SQL语句是什么:


右侧数据库多出了t_stu表
可以通过语句>python manage.py sqlmigrate stu 0001去查看对应迁移文件中的SQL语句,其中stu为创建的应用i名,0001为迁移文件的名字


完善views.py内容(全程只是操作对象,并没有对数据库进行操作,这叫对象映射,在其他语言数据库中也有这种类似映射,当代码中执行save()方法的时候,底层会自动执行数据库语句,对是数据库的操作由底层自动完成我们只需要操作对象即可。)
# -*- coding: utf-8 -*-
from __future__ import unicode_literals from django.http import HttpResponse
from django.shortcuts import render
from .models import * # Create your views here.
def index_view(request):
# 获取当前请求方式(GET/POST)
m = request.method # request的请求方式,m值为GET if m == 'GET':
return render(request, 'register.html')
else:
# 获取请求参数uname接收前台传过来的uname,虽然名字,一样但是是不同的变量;pwd同理
uname = request.POST.get('uname', '')
pwd = request.POST.get('pwd', '')
# 非空判断O
if uname and pwd:
# 插入数据库
# 创建模型对象,引入左POST侧models文件中的所有内容from .models import *,sname为数据库中的字段值,接收上方传过来的uname;spwd同理
stu = Student(sname=uname, spwd=pwd)
# 插入数据库
stu.save()
return HttpResponse('注册成功')
return HttpResponse('注册失败')
运行项目,浏览器中输入http://127.0.0.1:8000/student,输入用户名密码,点击注册,注册内容会自动出现在数据库中
Mysql事务的四大特性:

【Python】【Django】用户注册功能的更多相关文章
- django 用户注册功能实现
增加views的类 class RegisterView(View): def get(self, request): return render(request, 'register.html', ...
- Python django实现简单的邮件系统发送邮件功能
Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...
- 9、Django实战第9天:用户注册功能
今天完成的是用户注册功能... 首先把注册页面的前端文件register.html复制到templates目录下 编辑users.views.py,创建一个注册的类 class RegisterVie ...
- Django项目: 3.用户注册功能
本章内容的补充知识点 导入库的良好顺序: 1.系统库 2.django库 3.自己定义的库(第三方库) redis缓存数据库的数据调用速度快,但是不利于长时间保存. mysql用于长时间存储,但是调用 ...
- python django 实现验证码的功能
我也是刚学Python Django不久很多都不懂,所以我现在想一边学习一边记录下来然后大家一起讨论! 验证码功能一开始我在网上找了很多的demo但是我在模仿他们写的时候,发现在我的版本上根本就不能 ...
- Python Django 实现简单注册功能
Python Django 实现简单注册功能 项目创建略,可参考前期文档介绍. 目录结构如下 编辑views.py from django.shortcuts import render # Crea ...
- Python Django 功能模块
Python Django模块 Django模块,是针对有django基础,对django功能进行模块化,方便下次使用. 一.注册模块 该注册采用邮箱验证,注册成功后会发送激活链接到邮箱. 邮箱验证参 ...
- 基于Python+Django的Kubernetes集群管理平台
➠更多技术干货请戳:听云博客 时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调 ...
- python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...
- python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...
随机推荐
- mp
问题 G: Green Bin 时间限制: 1 Sec 内存限制: 128 MB[提交] [状态] 题目描述 We will call a string obtained by arranging ...
- Java开发之Redis
简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品均有以下特点: Redis 支持数据持久化 ...
- 【转载】在windows下使用gcc编译jni的简单教程
转自:http://veikr.com/201207/windows_gcc_jni.html 1.安装MinGW,这个可以为windows提供gcc编译环境. 到http://sourceforge ...
- echarts相关问题记录
1.图标距离容器边界 //echats options options : { //... grid : { top : 40, //距离容器上边界40像素 bottom: 30 //距离容器下边界3 ...
- python中GraphViz's executables not found的解决方法以及决策树可视化
出现GraphViz's executables not found报错很有可能是环境变量没添加上或添加错地方. 安装pydotplus.graphviz库后,开始用pydotplus.graph_f ...
- Mysql sql语句技巧与优化
一.常见sql技巧 1.正则表达式的使用 2.巧用RAND()提取随机行 mysql数据库中有一个随机函数rand()是获取一个0-1之间的数,利用这个函数和order by一起能够吧数据随机排序, ...
- AcWing 847. 图中点的层次
队列 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm ...
- 左偏树(p4431)
难得不是左偏树,而是思维: 这道题在做得时候,有两个性质 1.如果a是一个不下降序列,那么b[i]==a[i]时取得最优解. 2.如果a是一个严格递减序列,则取a序列的中位数x,令b[1]=b[2]= ...
- 利用tensorboard将数据可视化
注:代码是网上下载的,但是找不到原始出处了,侵权则删 先写出visual类: class TF_visualizer(object): def __init__(self, dimension, ve ...
- 并发编程Semaphore详解
Semaphore的作用:限制线程并发的数量 位于 java.util.concurrent 下, 构造方法 // 构造函数 代表同一时间,最多允许permits执行acquire() 和releas ...