GET方法前置步骤做完
stu.models.py
再其中创建需要用到的字段及对应数据库的表
1 #-*- coding: utf-8 -*-
2 from __future__ importunicode_literals3
4 from django.db importmodels5
6
7 #Create your models here.
8 classStudent(models.Model):9 sname = models.CharField(max_length=30, unique=True)10 spwd = models.CharField(max_length=30)11
12 classMeta:13 db_table = 't_student'
View Code
db.sqlite3--用pycharm自带的数据库
右键链接数据库
进入默认ok--connection测试链接(successfully)--apply-ok
点击右侧Database进入数据库
既然我们系统有很多默认的系统应用app,那么就一定有很多对应的数据库表,下面我们先把系统默认app映射到我们右侧的数据库中
进入Terminal,敲入命令>python manage.py后会弹出很多Terminal可以用到的命令,如果忘记了,可以输入此命令去查询
以下为python manage.py中所有可以用到的命令
1 Type 'manage.py help ' for help on a specific subcommand.2
3 Available subcommands:4
5 [auth]6 changepassword7 createsuperuser8
9 [contenttypes]10 remove_stale_contenttypes11
12 [django]13 check14 compilemessages15 createcachetable16 dbshell17 diffsettings18 dumpdata19 flush20 inspectdb21 loaddata22 makemessages23 makemigrations #创建左侧文件夹migrations迁移到我们的应用app中24 migrate #将现有的表映射到数据库25 sendtestemail26 shell27 showmigrations28 sqlflush29 sqlmigrate30 sqlsequencereset31 squashmigrations32 startapp #创建应用33 startproject #创建项目34 test35 testserver36
37 [sessions]38 clearsessions39
40 [staticfiles]41 collectstatic42 findstatic43 runserver #启动服务器
在Terminal输入如下命令,将现有的应用对应的表映射到数据库
>python manage.py migrate
刷新数据库,多了系统表
下一步,我们将我们自己的model映射数据库表
看上方会自动生成出自己model的迁移文件
将我们自己项目,根据迁移文件映射到数据库表中
我们也可以通过一个语句去查看对应迁移文件生成的SQL语句是什么:
右侧数据库多出了t_stu表
可以通过语句>python manage.py sqlmigrate stu 0001去查看对应迁移文件中的SQL语句,其中stu为创建的应用i名,0001为迁移文件的名字
完善views.py内容(全程只是操作对象,并没有对数据库进行操作,这叫对象映射,在其他语言数据库中也有这种类似映射,当代码中执行save()方法的时候,底层会自动执行数据库语句,对是数据库的操作由底层自动完成我们只需要操作对象即可。)
1 #-*- coding: utf-8 -*-
2 from __future__ importunicode_literals3
4 from django.http importHttpResponse5 from django.shortcuts importrender6 from .models import *
7
8
9 #Create your views here.
10 defindex_view(request):11 #获取当前请求方式(GET/POST)
12 m = request.method #request的请求方式,m值为GET
13
14 if m == 'GET':15 return render(request, 'register.html')16 else:17 #获取请求参数uname接收前台传过来的uname,虽然名字,一样但是是不同的变量;pwd同理
18 uname = request.POST.get('uname', '')19 pwd = request.POST.get('pwd', '')20 #非空判断O
21 if uname andpwd:22 #插入数据库
23 #创建模型对象,引入左POST侧models文件中的所有内容from .models import *,sname为数据库中的字段值,接收上方传过来的uname;spwd同理
24 stu = Student(sname=uname, spwd=pwd)25 #插入数据库
26 stu.save()27 return HttpResponse('注册成功')28 return HttpResponse('注册失败')
View Code
运行项目,浏览器中输入http://127.0.0.1:8000/student,输入用户名密码,点击注册,注册内容会自动出现在数据库中
Mysql事务的四大特性: