溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫

發(fā)布時間:2022-03-04 14:06:45 來源:億速云 閱讀:506 作者:小新 欄目:開發(fā)技術

小編給大家分享一下怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.在app下的models.py中創(chuàng)建新的模板

怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫

具體代碼如下:

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這些通過數(shù)據遷移會變成mysql數(shù)據庫中的列表名

2.數(shù)據遷移(用pycharm自帶的Terminal工具即可)

python manage.py makemigrations finalapp
python manage.py migrate finalapp

finalapp是我app的名字,大家數(shù)據遷移的時候記得換成自己app的名字

下面是我數(shù)據遷移之后的mysql數(shù)據庫,可以看到finalapp_apply表已經創(chuàng)建成功,雙擊點開就可以查看表,新創(chuàng)建的表是什么數(shù)據都沒有的,圖中的是我的前端通過form表單提交到數(shù)據庫的

怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫

3.在app下的views.py中創(chuàng)建新的視圖

怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫

具體代碼如下:

def apply(request):
    if request.method == "POST":  # 判斷請求為POST請求則是提交表單
        apply = Apply()  # 創(chuàng)建一個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()  # 保存實例,把數(shù)據存到數(shù)據庫
        return render(request, 'applysuccessful.html') #數(shù)據保存之后,從apply網頁跳轉到成功的頁面
    else:
        return render(request, 'apply.html') #沒有數(shù)據的時候,跳轉到apply網頁

4.前端

怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫

具體代碼如下:

<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 屬性,它規(guī)定當提交表單時,向何處發(fā)送表單數(shù)據。

{%csrf_token%}:在Django中我們需要在templates的form中加入{%csrf_token%}這串內容,它的作用是當我們get表單頁面時,服務器返回頁面的同時也會向前端返回一串隨機字符,post提交時服務器會驗證這串字符來確保用戶是在服務端返回的表單頁面中提交的數(shù)據,防止有人通過例如jquery腳本向某個url不斷提交數(shù)據,是一種數(shù)據提交的驗證機制。

5.效果

怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫

怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫

可以看到前端提交的數(shù)據已經存入到數(shù)據庫中。

以上是“怎么用Django將前端的數(shù)據存入Mysql數(shù)據庫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI