直接交互的最簡單方法是利用Ajax,從而使用Ajax Post將JSON
發送給Django,然後將參數作爲dict()
處理。這裏有一個例子:
在瀏覽器(JQuery的/ JavaScript的):
function newModule() {
var my_data = $("#my_element").val(); // Whatever value you want to be sent.
$.ajax({
url: "{% url 'modules' %}", // Handler as defined in Django URLs.
type: "POST", // Method.
dataType: "json", // Format as JSON (Default).
data: {
path: my_data, // Dictionary key (JSON).
csrfmiddlewaretoken:
'{{ csrf_token }}' // Unique key.
},
success: function (json) {
// On success do this.
},
error: function (xhr, errmsg, err) {
// On failure do this.
}
});
在服務器引擎(蟒蛇):
def handle(request):
# Post request containing the key.
if request.method == 'POST' and 'my_data' in request.POST.keys():
# Retrieving the value.
my_data = request.POST['my_data']
# ...
現在,所有你需要做的是引導你的HTML表單調用JavaScript函數並將數據傳遞給引擎。
要成功時將用戶重定向到另一個頁面,你可以在你success
功能使用:
window.location.href = "http://www.example.com";
它模擬類似點擊的錨標記(鏈接)的反應。
希望這會有所幫助。