2016-04-22 2 views
0

Я пытаюсь создать веб-интерфейс для выполнения различных задач управления с помощью Django. Мне никогда не нужен передний конец, но теперь они хотят, чтобы разные БУ могли использовать их, и им нужно что-то красивое, чтобы нажать кнопку. Так что я хочу сделать, это: данныеЗаполнение скрипта backend для формы Django

  1. пользователь вводит формы и подает его внешний скрипт
  2. доступ к сайту, используя почтовые данные как арг
  3. Пользователь перенаправляется на страницу подтверждения

Right теперь я могу отправлять данные, и я могу запустить скрипт с помощью 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. 

      } 

     }); 

В серверном двигателя (Python):

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"; 

, который моделирует реакцию, аналогичную нажав на якорной тег (ссылка).

Надеюсь, это поможет.