Кроме того, я не могу найти «APPEND_SLASH» в своих настройках.py!
Ниже приведено сообщение об ошибке:
RuntimeError: вы вызвали этот URL-адрес через POST, но URL-адрес не заканчивается косой чертой, и у вас установлено APPEND_SLASH. Django не может перенаправить на URL-адрес с косой чертой, сохраняя данные POST. Измените форму так, чтобы она указывала на localhost:8000/cars/ (обратите внимание на косую черту) или установите APPEND_SLASH=False в настройках Django.
Мой urls.py:
Код: Выделить всё
from django.urls import path,include
from . import views
urlpatterns=[
path('cars/',views.cars,name='cars'),
]
Код: Выделить всё
from django.shortcuts import render
from django.http import HttpResponse
from cars.models import car
import json
from django.core import serializers
from django.http import JsonResponse
def cars(request):
if request.method=="GET":
all_cars=car.objects.all()
cars_data=[]
for each_car in all_cars:
cars_data.append({
'name': each_car.name,
'color': each_car.color,
'fuel': each_car.fuel
})
return JsonResponse(cars_data,safe=False)
elif request.method == 'POST':
data=json.loads(request.body)
color_of_car=data.get('color_of_car')
if color_of_car is not None:
one_car=car.objects.filter(color=color_of_car)
output=[]
for each_car in one_car:
output.append({
'name': each_car.name,
'color': each_car.color,
'fuel': each_car.fuel
})
return JsonResponse(output,safe=False)
Код: Выделить всё
{ "color_of_car":"black" }
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-django