人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

教你用Django將前端的數(shù)據(jù)存入Mysql數(shù)據(jù)庫

發(fā)布日期:2021-12-14 05:52 | 文章來源:CSDN

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


具體代碼如下:

class Apply(models.Model):
 clas = models.CharField(max_length=32, verbose_name="班級(jí)")
 name = models.CharField(max_length=32, verbose_name="姓名")
 number = models.CharField(max_length=15, verbose_name="學(xué)號(hào)")
 email = models.CharField(max_length=32, verbose_name="郵箱")
 phone = models.CharField(max_length=11, verbose_name="手機(jī)號(hào)")
 zhiyuan1 = models.EmailField(max_length=32, verbose_name="志愿一")
 zhiyuan2 = models.EmailField(max_length=32, verbose_name="志愿二")

Apply類下的clas,name這些通過數(shù)據(jù)遷移會(huì)變成mysql數(shù)據(jù)庫中的列表名

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

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

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

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


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


具體代碼如下:

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

4.前端


具體代碼如下:

<form action="/apply/" method="post" style="padding-top: 30px">
{% csrf_token %}
<p>
 <label>班&emsp;級(jí):<input type="text" name="clas"></label>
</p>
<p>
 <label>姓&emsp;名:<input type="text" name="name"></label>
</p>
<p>
 <label>學(xué)&emsp;號(hào):<input type="text" name="number"></label>
</p>
<p>
 <label>郵&emsp;箱:<input type="text" name="email"></label>
</p>
<p>
 <label>手機(jī)號(hào):<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ī)定當(dāng)提交表單時(shí),向何處發(fā)送表單數(shù)據(jù)。

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

5.效果



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

希望這篇文章可以幫助到你?。。?br/>

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部