Ошибка: Запрещено (токен CSRF отсутствует или неверен.): / Tracker /
я пробую URL: tracker, tracker /, / tracker /, http://127.0.0.1: 8000 / tracker / '
Я новичок в Django. Я пробую много URL-адресов, а также пробую Moesif CORS (расширение)
. Ошибка консоли: jquery -3.5.1. js: 10099 POST http://127.0.0.1: 8000 / tracker / 403 (Запрещено) отправить @ jquery -3.5.1. js: 10099 ajax @ jquery -3.5.1. js: 9682 (анонимно) @ (индекс): 276 отправка @ jquery -3.5.1. js: 5429 elemData.handle @ jquery -3.5.1. js: 5233
файл urls.py :
urlpatterns = [
path('', views.index, name="index"),
path('preview/<int:id>/', views.preview, name="preview"),
path('checkout/', views.checkout, name="checkout"),
path('tracker/', views.tracker, name="tracker"),
]
console.log ('работает')
$('#trackerForm').submit(function(event){
$('#items').empty();
var formdata = {
'orderId' : $('input[name=order_id]').val(),
'email' : $('input[name=email]').val(),
'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val()
};
$.ajax({
type : 'POST',
url : 'http://127.0.0.1:8000/tracker/',
data:'formdata',
encode: true
})
.done(function(data){
console.log(data)
updates = JSON.parse(data);
if (updates.length > 0 & updates != {}) {
for (i = 0; i < updates.length; i++) {
let text = updates[i]['text'];
let time = updates[i]['time'];
mystr = `<li class="list-group-item d-flex justify-content-between align-items-center">
${text}
<span class="badge badge-primary badge-pill">${time}</span>
</li>`
$('#items').append(mystr);
}
} else {
mystr = `<li class="list-group-item d-flex justify-content-between align-items-center">
Sorry, We are not able to fetch this order id and email. Make sure to type correct order Id and email</li>`
$('#items').append(mystr);
}
})
event.preventDefault();
})
Views.py
def tracker(request):
if request.method == "POST":
order_id = request.POST.get('order_id')
email = request.POST.get('email')
try:
order = Order.objects.filter(order_id=order_id, email=email)
if len(order) > 0:
update = updateOrder.objects.filter(order_id=order_id)
updates = []
for item in update:
updates.append({'text':item.order_desc, 'time':item.timestamp})
responce = json.dumps(updates, default=str)
print(responce)
return HttpResponse(responce)
else:
return HttpResponse({})
except Exception as e:
return HttpResponse({})
context={}
return render(request, 'cart/tracker.html', context)