'WSGIRequest' object has no attribute 'is_ajax'
将ajax添加到django项目时发生错误整个项目卡住了。
我正在创建一个 django 项目,并尝试使用指南。我的代码在开发中工作,但是一旦我将 ajax 添加到代码中,代码就会在 ajax 请求上出现错误。在开发中,使用它来提交测验效果非常好,但在开发中则不然。我尝试使用 pk 进行提交,但它返回错误并且无法创建准确的结果实例。下面是 order.html cart.js 和视图。
在做我的餐厅 Django 项目时,添加了 ajax 用于将消息传递到服务器。但服务器显示错误并且没有显示输出。
显示消息
if request.is_ajax(): error
cart.js
function order(){
var test='Ajax test';
var ur='food/order';
var orderData={};
orderData['test']=test;
$.ajax({
url:ur,
type:'POST',
data:orderData,
success:function(data){
console.log("Data sent")}
})
}
views.py
@csrf_exempt
def order(request):
if request.is_ajax():
test=request.POST.get['test']
print(test)
ctx= {'active_link':'order'}
return render(request,'food/order.html',ctx)
cart.js
function order(){
var test='Ajax test';
var ur='food/order';
var orderData={};
orderData['test']=test;
$.ajax({
url:ur,
type:'POST',
data:orderData,
success:function(data){
console.log("Data sent")}
})
}
订单.html
{% extends 'food/base.html' %}
{% load static %}
{% block title %}Order Food here {% endblock %}
{% block content %}
<div class="container-fluid m-4">
<div class="row">
<div class="col-md-6 text-center">
<h3>Order</h3>
<div class="row">
<div class="col-md-6" id="name">
<h5>Name</h5>
</div>
<div class="col-md-1" id="size">
<h5>Size</h5>
</div>
<div class="col-md-2" id="price">
<h5>Price</h5>
</div>
</div>
<h5 id="total">Total :</h5>
</div>
<div class="col-md-1" id="rm">
</div>
<div class="col-md-5 mt-4">
<h5>Messages</h5>
<textarea name="message" id="message" cols="40" rows="5"></textarea>
<div class="ml-auto m-4">
<button type="submit" class="btn-success" onclick="order()">submit</button>
</div>
</div>
</div>
</div>
<script src="{% static 'food/js/cart.js' %}"></script>
{% endblock %}
HttpRequest.is_ajax() 自 3.1 版本起已弃用。您可以在这里阅读 - https://docs.djangoproject.com/en/4.0/releases/3.1/#id2。
文档引用:
request.is_ajax() 可以完全复制为 request.headers.get('x-requested-with') == 'XMLHttpRequest'