教你用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):
    if request.method == "POST":  # 判断请求为POST请求则是提交表单
        apply = Apply()  # 创建一个apply实例
        clas = request.POST.get("clas")  # 获取提交表单中的clas值,赋值给clas
        name = request.POST.get("name")  # 获取提交表单中的name值,赋值给变量name
        number = request.POST.get("number")
        email = request.POST.get("email")
        phone = request.POST.get("phone")
        zhiyuan1 = request.POST.get("zhiyuan1")
        zhiyuan2 = request.POST.get("zhiyuan2")
        apply.clas = clas #给实例赋值
        apply.name = name
        apply.number = number
        apply.email = email
        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" style="padding-top: 30px">
            {% 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>
            <input type="submit" value="提交">
        </form>

form表单必须写 action 属性,它规定当提交表单时,向何处发送表单数据。

{%csrf_token%}:在Django中我们需要在templates的form中加入{%csrf_token%}这串内容,它的作用是当我们get表单页面时,服务器返回页面的同时也会向前端返回一串随机字符,post提交时服务器会验证这串字符来确保用户是在服务端返回的表单页面中提交的数据,防止有人通过例如jquery脚本向某个url不断提交数据,是一种数据提交的验证机制。

5.效果

可以看到前端提交的数据已经存入到数据库中

希望这篇文章可以帮助到你!!!

(0)

相关推荐

  • Django如何配置mysql数据库

    Django项目默认使用sqlite 数据库,但是我想用mysql数据库,应该如何配置呢. Django连接mysql数据库的操作,是通过根模块的配置实现的,在项目根模块的配置文件settings.py中,我们可以查询到如下DATABASES的配置信息: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 解释一下上

  • django连接mysql数据库及建表操作实例详解

    本文实例讲述了django连接mysql数据库及建表操作.分享给大家供大家参考,具体如下: django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找到settIngs里面的database设置如下 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 's22',

  • 使用Django连接Mysql数据库步骤

    链接mysql步骤 第一步:在终端下载pymysql文件–pip install pymysql 第二步:在gjango项目的__init__文件中添加代码 import pymysql pymysql .install_as_MySQLdb() 第三步:找到mysql的连接源,然后填信息,如果没有mysql驱动,需要下载MySQL驱动 mysql的配置:进入settings文件中找到DATABASES配置信息 DATABASES = { 'default': { 'ENGINE': 'djan

  • 教你用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_lengt

  • Android实现与Apache Tomcat服务器数据交互(MySql数据库)

    需求:Android客户端连接服务器端MySQL数据库中的内容 环境部署 服务器:apache-tomcat-8.5.9 语言版本:Java 1.8.0_101 编译环境:Eclipse android Studio 调用jar包:httpclient-4.2.5,httpcore-4.2.4 //HttpClient父类 mysql-connector-java-5.1.40-bin //用于连接mysql数据库 思路:涉及到服务器端mysql数据库安装.web应用部分开发和Android客户

  • PHP上传Excel文件导入数据到MySQL数据库示例

    最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里面的数据内容到MySQL数据库的小程序. 要用到的工具: ThinkPHP:轻量级国产PHP开发框架.可在ThinkPHP官网下载. PHPExcel:Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可在CodePlex官网下载.. 1.设计MySQL数据库product 创建product数据库 CREATE DATABASE product D

  • Python实现生成随机数据插入mysql数据库的方法

    本文实例讲述了Python实现生成随机数据插入mysql数据库的方法.分享给大家供大家参考,具体如下: 运行结果: 实现代码: import random as r import pymysql first=('张','王','李','赵','金','艾','单','龚','钱','周','吴','郑','孔','曺','严','华','吕','徐','何') middle=('芳','军','建','明','辉','芬','红','丽','功') last=('明','芳','','民','敏

  • Python3读取Excel数据存入MySQL的方法

    Python是数据分析的强大利器. 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python3如何使用xlrd读取excel,并使用Python3操作pymysql模块将数据存入Mysql中,有需要的朋友们一起来看看吧. 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. python操作excel主要用

  • 88秒插入1000万条数据到MySQL数据库表的操作方法

    我用到的数据库为,mysql数据库5.7版本的 首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). You can change this value on the server by setting the max_allo

  • Python3实现的爬虫爬取数据并存入mysql数据库操作示例

    本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作.分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单.罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chrome自带的F12类似.客户端有接单大厅,罗列所有订单的简要信息.当单子被接了,就不存在了.我要做的是新出订单就爬取记录到我的数据库zyc里. 设置每10s爬一次. 抓包工具页面如图: 首先是爬虫,先找到数据存储的页面,再用正则爬出. # -*- coding:utf-8 -*- import re

  • .Net Core导入千万级数据至Mysql数据库的实现方法

    ​最近在工作中,涉及到一个数据迁移功能,从一个txt文本文件导入到MySQL功能. 数据迁移,在互联网企业可以说经常碰到,而且涉及到千万级.亿级的数据量是很常见的.大数据量迁移,这里面就涉及到一个问题:高性能的插入数据. 今天我们就来谈谈MySQL怎么高性能插入千万级的数据. 我们一起对比以下几种实现方法: 前期准备 订单测试表 CREATE TABLE `trade` ( `id` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',

  • Excel数据导入Mysql数据库的实现代码

    首先做一下说明,为什么我要用Navicat,第一个原因,因为它是个不错的Mysql GUI工具,更重要的是,它可以将一些外部数据源导入Mysql数据库中.因为我的数据源是excel数据,所以想借助Navicat将其导入Mysql. 第一次运行,首先创建连接,主机名填写:localhost,端口为3306,然后填写用户名密码,OK.顺利的话,大家就可以看到名为localhost的连接图标了.双击点开它,一般Mysql默认有两个数据库,分别为mysql与test. 不用管它们,右键localhost

  • 抽取oracle数据到mysql数据库的实现过程

    在oracle数据库迁移至mysql数据库,除了oracle数据库模型移到mysql外,还一个重要环节就是要将oracle数据库的数据移到mysql数据库,本人尝试用过多款数据迁移程序,性能都不是很好的,于是自己动手写一个针对于oracle数据库数据迁移到mysql数据程序,其具体过程如下: 1.要抽取mysql表.字段及过滤条件的配制文件imp_data.sql 2.建立一个目录ETL_DIR 3.运行oracle数据库程序P_ETL_ORA_DATA,生成各表的csv数据文件,同时也生成一个

随机推荐