#django #apache #centos7
#django #apache #centos7
Вопрос:
У меня ошибка, связанная с тем, что мой метод POST не работает в Production для проекта Apache и Django2
На вкладке сеть отображается ошибка, но нет никаких подробностей об ошибке
У меня уже есть код для публикации в виде просмотров, и вот код для просмотров:
**views.py:**
class Smoke(View):
def get(self, request, *args, **kwargs):
return render(request, 'add/index.html')
def post(self, request, *args, **kwargs):
return JsonResponse(
{
"message": "Successfully Added",
"details": data
},
status=200
)
Кроме того, вот код для urls.py
urlpatterns = [
path('add/', Smoke.as_view({'get', 'post'}), name='smokeping-add'),
]
Есть ли что-нибудь, что мне нужно было сделать, чтобы метод POST правильно работал в Fetch API?
fetch('',{
method: 'POST',
header: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
Комментарии:
1. Этот код работает над разработкой, но на производстве, интегрированном с Apache, метод POST не работает.
2. Вам нужно показать содержимое ответа 500 из консоли разработчика.
3. @DanielRoseman Я все еще новичок в Django, можете ли вы сказать мне, где я должен это проверить?
4. Это не имеет никакого отношения к Django. Вы показали ошибку из консоли разработчика браузера. На вкладке сеть должно отображаться полное содержимое ответа об ошибке.
5. Это может быть связано с токеном CSRF, вы разрешили csrf для js?
Ответ №1:
Вы можете установить DEBUG в True в своем файле настроек и просмотреть сведения об ошибке. Но не забудьте отключить его позже 🙂 P.S. Вы рассматривали возможность установки nginx-> uwsgi вместо Apache?
Комментарии:
1. Пожалуйста, используйте комментарии, чтобы запросить разъяснения.