2016-04-22 8 views
0

私はDjangoでさまざまな管理作業を行うためにWebフロントエンドを作成しようとしています。フロントエンドは必要ありませんでしたが、今は異なるBUがそれらを利用できるようにしたいと思っています。だから私は何をしたいです:Django用のバックエンドスクリプトの移植

  1. ユーザ入力フォームデータと
  2. ユーザーが確認ページにリダイレクトされる引数としてポストデータを使用して
  3. サイトへのアクセスの外部スクリプトを提出する

右今私はデータを投稿することができ、私はargsでスクリプトを実行することができます、私はちょうど2つを組み合わせる方法を知らない。私が調べなければならないことに関する助言やヒントは、大いに感謝されます。私はそれらを滅菌しなければならないので、スニペットを掲示しなかった。しかし、要求に応じて、それが必要であれば助けることができる。

答えて

1

DjangoにJSONを送信してから、引数をdict()として処理するために、Ajax Postを使用することで直接対話するのが最も簡単な方法です。ここでは一例です:ブラウザ(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関数を呼び出してそのデータをエンジンに送信します。

window.location.href = "http://www.example.com"; 

アンカータグ(リンク)をクリックするのと同様の反応をシミュレートします:

成功時に別のページにユーザーをリダイレクトするために、あなたはあなたのsuccess機能でこれを使用することができます。

これが役に立ちます。