Джанго обновляет данные по нажатию кнопки - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть классическая форма и кнопка отправки, которая сохраняет данные в model1, и я хотел бы обновить данные другой модели2, вызывая функцию при нажатии кнопки. Я пытаюсь использовать запрос Ajax, как и другой, упомянутый в другом посте: Django: Как сделать объект похожим на Ajax

Я пытаюсь реализовать запрос Ajax и начать с очень простого кода (просто хочу вывести «Randomize», когда мой метод называется

У меня есть простая форма, которая будет хранить данные в связанной с ней модели (Randomisation), но я хочу обновить еще 2 модели, когда пользователь нажмет кнопку отправки формы (id = randomize)

У меня естьметод, на мой взгляд, должен вызываться Ajax, но он не работает, я ввожу в функцию JQuery (alter ('test') == OK), но метод randomize не вызывается, так как у меня нет печати в консоли (print ('test')! = OK) и подтверждение не вызывается (подтверждение («Вы рандомизировали пациента»)! = OK)

Что не так?

urls.py

from django.urls import path
from . import views

app_name='randomization'
urlpatterns = [
    path('detail/<int:pk>', views.randomisation_detail, name='randomisation_detail'),
    path('edit/', views.randomisation_edit, name='randomisation_edit'),
    path('', views.index, name='index'),
    path('randomize/', views.randomize, name="randomize"),

]

просмотров.py

@csrf_exempt
def randomize(request):
    print('Randomize')
    pass

randomization_edit.html

{% extends 'layouts/base.html' %}
{% load static %}
{% load crispy_forms_tags %}

{% block title %}Index | Intense TBM{% endblock %}
{% block content %}
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>

<script>

$(document).ready(function() {
$("#randomize").click(function(event){
    alert('test')
        $.ajax({
            type:"POST",
            url:"{% url 'randomization:randomize' %}",
            success: function(data){
                confirm("You have randomize the patient")
            }
        });
        return false;
   });
});
</script>

<div class='container'>

<h1>Randomization form</h1>
</br>
<div class="row">
    <div class="col-sm">
        <strong>Patient code: </strong>{{ preincluded.pat_num }}
    </div>
    <div class="col-sm">
        <strong>Age: </strong>{{ preincluded.pat_nai_dat }}
    </div>
    <div class="col-sm">
        <strong>Sex: </strong>{{ preincluded.pat_sex }}
    </div>
</br></br>
</div>
    <form method="POST" class="post-form">
        {% csrf_token %}
        {{ form |crispy }}
        <button id="randomize" type="submit" class="btn btn-primary">Randomize</button>
    </form>

</div>
</br></br></br></br>
{% endblock %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...