前端介紹了建立模型(表),並寫了儲存資料,與查詢資料,那麼在前端頁面,如何將使用者輸入的資料提交到後臺儲存呢?
django框架的處理邏輯大體是這樣的:
1,前端頁面表單一般是在一個form裡面,在form中指定action
2,在urls。py中定義路由,接受form中action指定的路徑(由)
3,在views。py或自定義的py模組中定義後端處理邏輯,並返回給前端
1,建立前端頁面
通用情況下,前端頁面都是html檔案,在myweb\web\templates目錄新建一個taskAdd。html檔案,編輯程式碼如下:
{% extends ‘base。html’ %}
{% block content %}
{% include “v3/v3Com。html” %}
{% endblock %}
在沒有美化的情況,一個比較粗糙的頁面是這樣的:
2,編輯views。py檔案
編輯myweb\web\views。py檔案,加入程式碼:
import database
# 儲存任務表
def task_add(request):
task_info = dict()
task_info[‘task_name’] = request。POST。get(‘task_name’)
task_info[‘task_user’] = request。POST。get(‘task_user’)
task_info[‘task_describe’] = request。POST。get(‘task_describe’)
task_info[‘task_start_date’] = request。POST。get(‘task_start_date’)
task_info[‘task_end_date’] = request。POST。get(‘task_end_date’)
dataBase。save_task(task_info)
因為我們把儲存資料的邏輯是寫在 database。py裡的save_task函數里的
所以先引入database,再呼叫save_task函式。(如果不清楚,看“儲存資料”那章節的內容)
3,配置urls。py檔案
編輯urls。py檔案,加入:
url(r‘^taskAdd/’, views。task_add),
前端頁面的form提交時會先在urls。py裡找到form裡action指定的路徑taskAdd,urls根據taskAdd,去呼叫views。task_add函式。
另外注意在form裡的{% csrf_token %},如果不加上這句,那麼執行時會報一個錯誤。 這是一種安全機制,用於防止跨站攻擊的。即後端服務要驗證請求的來源是明確的。