AttributeError at /order
'WSGIRequest' object has no attribute 'is_ajax'
error occurred while adding ajax to django project whole project stuck.
I am creating a django project and I tried with a guide. I have my code working in Development, but once I ajax added to code code get errors on ajax requests. In development, using this for submission of quizzes works perfectly well, but in development, it doesn't. I tried using pk for the submission and it returns errors and is unable to create an accurate result instance. Below are below order.html cart.js and views.
while doing my restaurant Django project is added ajax for passing message to server . but server shows error and no output shown.
Messege shown
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")}
})
}
orders.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() was deprecated since 3.1 version. You can read about it here - https://docs.djangoproject.com/en/4.0/releases/3.1/#id2.
Quotation from the docs: