Метод POST HTTP с внутренней ошибкой сервера 500 в Apache и Django2 production

#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. Пожалуйста, используйте комментарии, чтобы запросить разъяснения.