Проблемы с подключением react-django, 500 внутренних ошибок сервера

Я работаю над проектом, используя react в качестве фронтенда и Django rest api в качестве бэкенда. К сожалению, у меня возникли некоторые проблемы. Вот с какими проблемами я столкнулся:

  1. В файле Django setting.py я установил папку static directory на "build" (для css, изображений и JavaScript) и папку media (для загруженных пользователем файлов) на "media", как показано ниже. Но я заметил, что в структуре каталогов отображается только папка "media", а не папка "build". ПОЖАЛУЙСТА, ЧТО МОЖЕТ ПРЕПЯТСТВОВАТЬ ОТОБРАЖЕНИЮ ПАПКИ "BUILD"?

    STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'build/static') ]

    STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_URL = '/medial/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

  2. Я понимаю, что обычно, когда вы запускаете "npm build" и копируете папку сборки, созданную во фронтенде, на место той, что в бэкенде Django, то вы можете начать использовать "localhost:8000" для доступа к вашим страницам, а не продолжать использовать "localhost:3000". Я сделал все вышеописанное, но я не смог загрузить страницы, используя "localhost:8000", а вместо этого получил 404 ошибку. ПОЖАЛУЙСТА, В ЧЕМ МОГУТ БЫТЬ ПРОБЛЕМЫ?

  3. Я создал несколько маршрутов (post и get), протестировал все маршруты в postman и в браузере, и все они (маршруты) работают отлично. Однако, когда я запускаю их из react frontend, они не работают. Под этим я подразумеваю, что данные не отправляются в базу данных (для маршрутов post), а также не отображаются на веб-странице (для маршрутов get). Странно, но один из post-маршрутов работает (то есть отправляет данные в базу данных) из react frontend. Меня беспокоит, почему остальные маршруты (post и get) не работают, и нет никакого сообщения об ошибке, кроме расплывчатого "500 internal server error" из консоли. Я использую примерно ту же логику кода практически для всех маршрутов в файле "views.py", а также из файлов react frontend. Вот файл views.py для единственного работающего маршрута (т.е. из react frontend):

    .
    1. class CreateContactView(APIView):
    2.  permission_classes = (permissions.AllowAny, )
      
    3.  def post(self, request, format=None):
      
    4.      data = self.request.data
      
    5.     try:
      
    6.         contact = Contact(
      
    7.             name=data['name'], email=data['email'], phone=data['phone'], subject=data['subject'], message=data['message'])
      
    8.         contact.save()
      
    9.         return Response({'success': 'Message sent successfully'})
      
    10.     except:
      
    11.         return Response({'error': 'Message failed to send'})
      

и вот один из других не работает. Однако они имеют одинаковую логику кода

class PartnerCreate(APIView):
    permission_classes = (permissions.AllowAny, )

    def post(self, request, format=None):
        data = self.request.data

        try:
            partners = Partners(
                name=data['name'], email=data['email'], phone=data['phone'],
                gendar=data['gendar'], area_spec=data['area_spec'], year_exp=['year_exp'], passport=['passport'], profile=['profile'])
            partners.save()
            return Response({'success': 'Registration successful'})
        except:
            return Response({'error': 'Something went wrong'})

Я ПОДНЯЛ 4 ВОПРОСА, ПОЖАЛУЙСТА, МОЖЕТ ЛИ КТО-НИБУДЬ ПОМОЧЬ МНЕ ВЫЯСНИТЬ, ЧТО НЕ ТАК? Спасибо всем.

Вернуться на верх