怎么用Django将前端的数据存入Mysql数据库

发布时间:2022-03-04 14:06:45 作者:小新
来源:亿速云 阅读:507

小编给大家分享一下怎么用Django将前端的数据存入Mysql数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1.在app下的models.py中创建新的模板

怎么用Django将前端的数据存入Mysql数据库

具体代码如下:

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表单提交到数据库的

怎么用Django将前端的数据存入Mysql数据库

3.在app下的views.py中创建新的视图

怎么用Django将前端的数据存入Mysql数据库

具体代码如下:

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.前端

怎么用Django将前端的数据存入Mysql数据库

具体代码如下:

<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>
            <input type="submit" value="提交">
        </form>

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

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

5.效果

怎么用Django将前端的数据存入Mysql数据库

怎么用Django将前端的数据存入Mysql数据库

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

以上是“怎么用Django将前端的数据存入Mysql数据库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. Django如何从mysql数据库将数据传到echarts
  2. Django如何将字典传到前端显示

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

django mysql

上一篇:Python如何打包exe文件

下一篇:OpenMV如何与STM32单片机通信

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》