我有一个经典的表单和一个提交按钮,可以将数据保存在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 %}