教你用Django將前端的數據存入Mysql數據庫
1.在app下的models.py中創(chuàng)建新的模板
具體代碼如下:
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表已經創(chuàng)建成功,雙擊點開就可以查看表,新創(chuàng)建的表是什么數據都沒有的,圖中的是我的前端通過form表單提交到數據庫的
3.在app下的views.py中創(chuàng)建新的視圖
具體代碼如下:
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() # 保存實例,把數據存到數據庫 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>班 級:<input type="text" name="clas"></label> </p> <p> <label>姓 名:<input type="text" name="name"></label> </p> <p> <label>學 號:<input type="text" name="number"></label> </p> <p> <label>郵 箱:<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ā)送表單數據。
{%csrf_token%}:在Django中我們需要在templates的form中加入{%csrf_token%}這串內容,它的作用是當我們get表單頁面時,服務器返回頁面的同時也會向前端返回一串隨機字符,post提交時服務器會驗證這串字符來確保用戶是在服務端返回的表單頁面中提交的數據,防止有人通過例如jquery腳本向某個url不斷提交數據,是一種數據提交的驗證機制。
5.效果
可以看到前端提交的數據已經存入到數據庫中
希望這篇文章可以幫助到你?。。?br />
相關文章
driver = webdriver.Chrome()報錯問題及解決
這篇文章主要介紹了driver = webdriver.Chrome()報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02Python+selenium實現自動循環(huán)扔QQ郵箱漂流瓶
這篇文章主要為大家詳細介紹了Python+selenium實現自動循環(huán)扔QQ郵箱漂流瓶,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05Python轉換字典成為對象,可以用"."方式訪問對象屬性實例
這篇文章主要介紹了Python轉換字典成為對象,可以用"."方式訪問對象屬性實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05詳解django的serializer序列化model幾種方法
序列化是將對象狀態(tài)轉換為可保持或傳輸的格式的過程。這篇文章主要介紹了詳解django的serializer序列化model幾種方法。具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10