2016-04-22 56 views
0

我試圖創建一個web前端以使用Django執行各種管理任務。我從來不需要前端,但現在他們希望不同的BU能夠利用它們,他們需要一些漂亮的東西來按下按鈕。因此,我想要做的是:爲Django表單填充後端腳本

  1. 用戶輸入的表單數據和使用後的數據作爲ARGS
  2. 用戶重定向到確認頁面提交它
  3. 網站訪問的外部腳本

權現在我可以發佈數據,並且可以使用args運行腳本,但我不知道如何將這兩者結合起來。任何幫助或提示我應該看看什麼將不勝感激。我沒有發佈片段,因爲我必須對它們進行消毒,但如果需要,我可以根據要求進行消毒以提供幫助。

回答

1

直接交互的最簡單方法是利用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"; 

它模擬類似點擊的錨標記(鏈接)的反應。

希望這會有所幫助。