教你⽤Django将前端的数据存⼊Mysql数据库
⽬录
1.在app下的models.py中创建新的模板
2.数据迁移(⽤pycharm⾃带的Terminal⼯具即可)
3.在app下的views.py中创建新的视图
4.前端
5.效果
1.在app下的models.py中创建新的模板
具体代码如下:
class Apply(models.Model):
clas = models.CharField(max_length=32, verbose_name="班级")
name = models.CharField(max_length=32, verbose_name="姓名")
number = models.CharField(max_length=15, verbose_name="学号")
email = models.CharField(max_length=32, verbose_name="邮箱")
phone = models.CharField(max_length=11, verbose_name="⼿机号")
zhiyuan1 = models.EmailField(max_length=32, verbose_name="志愿⼀")
zhiyuan2 = models.EmailField(max_length=32, verbose_name="志愿⼆")
Apply类下的clas,name这些通过数据迁移会变成mysql数据库中的列表名
2.数据迁移(⽤pycharm⾃带的Terminal⼯具即可)
python manage.py makemigrations finalapp
python manage.py migrate finalapp
finalapp是我app的名字,⼤家数据迁移的时候记得换成⾃⼰app的名字
下⾯是我数据迁移之后的mysql数据库,可以看到finalapp_apply表已经创建成功,双击点开就可以查看表,新创建的表是什么数据都没有的,图中的是我的前端通过form表单提交到数据库的
3.在app下的views.py中创建新的视图
具体代码如下:
def apply(request):
hod == "POST":  # 判断请求为POST请求则是提交表单
apply = Apply()  # 创建⼀个apply实例
clas = ("clas")  # 获取提交表单中的clas值,赋值给clas
name = ("name")  # 获取提交表单中的name值,赋值给变量name        number = ("number")
email = ("email")
phone = ("phone")
zhiyuan1 = ("zhiyuan1")
zhiyuan2 = ("zhiyuan2")
apply.clas = clas #给实例赋值
apply.name = name
apply.number = number
apply.phone = phone
apply.zhiyuan1 = zhiyuan1
apply.zhiyuan2 = zhiyuan2
apply.save()  # 保存实例,把数据存到数据库
return render(request, 'applysuccessful.html') #数据保存之后,从apply⽹页跳转到成功的页⾯
else:
return render(request, 'apply.html') #没有数据的时候,跳转到apply⽹页
4.前端
具体代码如下:
<form action="/apply/" method="post" >
{% csrf_token %}
<p>
<label>班&emsp;级:<input type="text" name="clas"></label>
</p>
<p>
<label>姓&emsp;名:<input type="text" name="name"></label>
</p>
<p>
<label>学&emsp;号:<input type="text" name="number"></label>
</p>
<p>
<label>邮&emsp;箱:<input type="text" name="email"></label>
</p>
<p>
<label>⼿机号:<input type="text" name="phone"></label>
</p>
<p>
<label>志愿⼀:<input type="text" name="zhiyuan1"></label>
</p>
<p>
<label>志愿⼆:<input type="text" name="zhiyuan2"></label>
</p>
django项目实例<input type="submit" value="提交">
</form>
form表单必须写 action 属性,它规定当提交表单时,向何处发送表单数据。
{%csrf_token%}:在Django中我们需要在templates的form中加⼊{%csrf_token%}这串内容,它的作⽤是当我们get表单页⾯时,服务器返回页⾯的同时也会向前端返回⼀串随机字符,post提交时服务器会验证这串字符来确保⽤户是在服务端返回的表单页⾯中提交的数据,防⽌有⼈通过例如jquery脚本向某个url不断提交数据,是⼀种数据提交的验证机制。
5.效果
希望这篇⽂章可以帮助到你

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。