python3.6-django做一个简单的表单,并向数据库提交信息

一、首先建一个django项目

建一个Blog_demo项目,并在template下新建两个html页面,一个注册页面命名为register,一个欢迎页面命名为welcome

python3.6-django做一个简单的表单,并向数据库提交信息

接下来,在这两个页面里分别写非常简单的注册表单,以及欢迎信息,不为好看,仅为能用

python3.6-django做一个简单的表单,并向数据库提交信息

此处说明:form表单的传输方式,主要有两种:get和post

简单易懂的解读:get是url请求,post的主体提交;get时账号密码会明文显示出来,post隐式发送;

python3.6-django做一个简单的表单,并向数据库提交信息


二、在views视图中,写需要执行的代码:

1.urls分发器:

在总的项目url下写需要分配给下级目录的地址,用到include包

python3.6-django做一个简单的表单,并向数据库提交信息

2.app的urls:

初始项目的app文件夹中,是没有urls的文件的,需要自己创建一个python格式的文件,同时注意导入app文件(blog_user)的views包

python3.6-django做一个简单的表单,并向数据库提交信息

3.views里写执行代码:

在views里写的register函数,要加request参数,return中也要有这个参数,user为一个虚拟的命名空间

python3.6-django做一个简单的表单,并向数据库提交信息

这一组代码环环相扣,此时,你的代码是正确的,但是还不能运行,需要设置一下数据库的内容,你需要先在你的数据库中,创建一个新的库,空的!里面还没有任何表,就像这样:

python3.6-django做一个简单的表单,并向数据库提交信息

创建好表之后,就可以开始setting了:

python3.6-django做一个简单的表单,并向数据库提交信息

在databases中,设置数据库的信息,我们使用.mysql数据库

好啦!urls的分配和数据库的准备工作都ok啦!

运行一下这个链接吧!

python3.6-django做一个简单的表单,并向数据库提交信息


但是有个问题对不对,提交后报错,解决方法:在register表单中,加入一行代码,问题迎刃而解。

{% csrf_token %}

python3.6-django做一个简单的表单,并向数据库提交信息


完善:此时仅仅是能跑,但是并没有提交数据,我们在views里完善代码,让程序做个判断,什么时候注册,什么时候注册成功:

python3.6-django做一个简单的表单,并向数据库提交信息


并且保存我们的数据,现在models里创建一个表结构

python3.6-django做一个简单的表单,并向数据库提交信息


并且,重要的一步一定不能忘了,数据库的映射:运行manage.py(ctrl+alt+R),输入三行代码:

makemigrations blog_user
sqlmigrate blog_user 0001
migrate blog_user 0001


接下来,以创建对象的方式操作数据库,get()中的username和password是取的register里的name=的值,以获取(request)注册的信息,保存为save()。

python3.6-django做一个简单的表单,并向数据库提交信息


运行项目并注册信息后,在数据库中看到的数据:第三条和第四条不显示,是因为我输入了相同用户名的数据,会传输失败

python3.6-django做一个简单的表单,并向数据库提交信息