我是Django的新手,目前面临着将HTML标签数据发布到数据库中的问题。
我有一个“选择案例”按钮,点击应发送用户ID(隐藏的HTML标签显示:无)和案例ID从HTML标签,并将其发送到“选择视图”的意见,并从那里它应该存储在MySQL数据库中的数据。
作为参考,请找到所附的图像。Case view
tables.html
<div class="containers pt-5 pb-3 px-4 py-4">
<input type='hidden' name='csrfmiddlewaretoken' value='{{ csrf_token }}' />
<div class="d-none">
<p>User ID: </p><p class="user-id">{{id}}</p>
</div>
<h3>Case Number:</h3><h2 id="number"></h2>
<h4>Description:</h4>
<p class="mb-5" id="display"></p>
<div class="button d-inline-block" style="max-width: 50%;">
<button type="submit" id="pick" class=" pick-button btn btn-outline-primary border-radius-lg p-3">Pick Case</button>
</div>
<div class="d-inline-block float-lg-end" style="max-width: 50%;">
<button class="btn btn-outline-danger border-radius-lg p-3">Close</button>
</div>
</div>
<script>
$("#pick").click(function(){
var user = $('.user-id').text();
var ca = $('#number').text();
ca = $.trim(ca);
$.ajax({
type:"POST",
url:"{% url 'dashboard:pick_case' %}",
data:{
user_id:user,
case_id:ca,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success:function(data){
alert(data);
}
});
});
</script>
字符串
视图.py
def pick_view(request):
if request.method == 'POST':
case_id = request.POST.get('case_id')
print(case_id)
status = 2
picked = Transaction()
picked.Case_ID = case_id
picked.Status = status
picked.save()
return HttpResponse("Case Picked Successfuly!")
else:
return HttpResponse("POST ERROR")
型
url.py
urlpatterns = [
path('dashboard', views.dashboard_view, name='dashboard_view'),
path('tables', views.case_view, name='case_view'),
path('tables', views.pick_view, name='pick_case'),
]
型
models.py
class Transaction(models.Model): ### Case Progress Table
Case_ID = models.ForeignKey(CaseTable, on_delete=models.CASCADE)
Status = models.ForeignKey(Status, on_delete=models.CASCADE)
Date_Time = models.DateTimeField(default=timezone.now)
型
运行以下代码后
success:function(data){
alert(data);
}
型
我得到以下输出:Output for the alert所以很明显,我不能在apache中传递“user”和“ca”的值。
请帮帮忙!
1条答案
按热度按时间lqfhib0f1#
显然你可以使用
JsonResponse
代替HTTPResponse
,它会更干净,更容易读取和操作返回的数据。字符串
然后,在您的目录中,您可以使用
alert(data.response);
访问返回的数据另外,请在处理错误时始终使用try except块,这样它就不会在运行时中断程序。