【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 ...
随机推荐
- xshell配置---文件上传命令rz和下载命令sz
1.下载安装包 方法一:手动下载安装 1)下载安装包:lrzsz-0.12.20.tar.gz 官网下载地址:http://www.ohse.de/uwe/releases/lrzsz-0.12.20 ...
- 【做题笔记】洛谷P1464 Function
我先谔谔一波 /kk 我谔谔 看题第一眼:欸这不就是按题意递归嘛,,直接搞不就好了 3 min 后,重新看题 然后自己手玩了几个样例,噢,递归太多了,铁定会 T 啊...... 然后,作为一个从没写过 ...
- jsp页面直接读取mysql数据库数据显示
jsp页面直接读取mysql数据库数据显示: <%@page import="java.sql.ResultSet"%> <%@page import=" ...
- 解决com.netflix.zuul.FilterProcessor : null异常
ZuulFilter过滤器的filterType方法返回一个字符串代表过滤器的类型,如果return null就会出现以上错误. 在zuul中有以下四种不同生命周期的过滤器类型 pre:路由之前 ro ...
- vue项目中解决跨域问题axios和
项目如果是用脚手架搭建的(vue cli)项目配置文件里有个proxyTable proxyTable是vue-cli搭建webpack脚手架中的一个微型代理服务器,配置如下 配置和安装axios 安 ...
- docker容器 - 进入容器、删除容器
实验环境 CentOS 7.5 容器 容器是镜像的运行实例.不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层:同时,容器中的应用进程处于运行状态. 进入容器 可使用以下命令进入容器: ...
- thinkphp的where 之 or的使用
需要生成 SELECT * FROM `goods` WHERE ( `goodstype_id` = 2 or `goodstype_id` = 3 ) $where['goodstype_id'] ...
- Oracle 11G统计信息自动收集及调整
查询统计信息的收集所对应的task,以及当前状态 col CLIENT_NAME for a50col TASK_NAME for a20SELECT client_name, task_name, ...
- Java - 闭包
概述 简单介绍 闭包 1. 聚合关系 概述 常见的 类间关系 场景 类 A 主要类 持有 类B 的实例 有点行为, 需要 类 B 的介入 类 B 有自己的行为 A 会在某些时候调用 B 的行为 代码示 ...
- 【PAT甲级】1106 Lowest Price in Supply Chain (25分)
题意:输入一个正整数N(<=1e5),两个小数P和R,分别表示树的结点个数和商品原价以及每下探一层会涨幅的百分比.输出叶子结点深度最小的商品价格和深度最小的叶子结点个数. trick: 测试点1 ...