Django单击按钮更新数据

时间:2019-11-02 11:49:41

标签: django ajax

我有一个经典的表单和一个提交按钮,可以将数据保存在model1中,并且我想更新另一个model2的数据,并在单击按钮上调用一个函数 我尝试使用ajax请求,就像另一篇文章中提到的另一个请求:Django: How to Like an Object with Ajax

我尝试实现一个Ajax请求并以一个非常简单的代码开始(只是想在调用我的方法时打印'Randomize'

我有一个简单的表格,它将数据存储在其相关模型中(随机化) 但是当用户单击表单(id = randomize)的提交按钮时,我想更新其他2个模型

我认为Ajax应该调用一个方法,但是它不起作用 我输入了JQuery函数(alter('test')== OK),但未调用randomize方法,因为我的控制台中没有打印内容(print('test')!= 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"),

]

views.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 %}

0 个答案:

没有答案