Страница администратора и главная страница не работают после установки окружения в Django
Я создал приложение с Django backend и React frontend.
В проекте я помещаю файл .env в корневую папку
my_project/
.env
my_app/
__init__.py
apps.py
settings.py
urls.py
views.py
wsgi.py
frontend/
public/
src/
build/
static/
js/
main.4dfd1f01.js
css/
main.5c1407a3.css
Затем я использую "django-environ" в качестве библиотеки env и делаю следующие настройки в файле setting.py
import os
import environ
ENV = environ.Env(
DEBUG=(bool, False)
)
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# Take environment variables from .env file
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'frontend/build'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
...
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.0/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / 'frontend/build/static'
]
urls.py:
from django.contrib import admin
from django.urls import path, include
from django.views.generic import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
path('sub-app/', include('sub-app.urls')),
path('', TemplateView.as_view(template_name='index.html')),
]
Все работает нормально, кроме моего корневого URL (localhost:8000/) и URL администратора (localhost:8000/admin):
The problem on admin:
when I input localhost:8000/admin in the browser, it simply redirects to a nonsense URL (like: http://127.0.0.1:8000/127.0.0.1:8000/sub-app/ca/admin/) **I don't even have any 'ca' anywhere in any of my urls.py files
The wired thing is that even I comment out sub-app from INSTALLED_APPS in setting.py and also comment out its path in urls.py, this strange url redirect issue is still there
The problem on root page:
I always get the following errors when I land on the root page:
a. "GET /static/css/main.5c1407a3.css HTTP/1.1" 404 1832
b. "GET /static/js/main.4dfd1f01.js HTTP/1.1" 404 1830
И самая важная часть:
Я заметил, что две вышеупомянутые проблемы на страницах admin и root полностью исчезнут, если я закомментирую следующую строку в файле setting.py:
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
Кто-нибудь знает, почему такое странное поведение произошло только тогда, когда я внедрил env файл в мое Django-React APP?