Я не могу понять, почему у меня все еще возникают проблемы с путями в Django для панели администратора, поскольку она не может найти статический файл
Я изменил структуру папок Django довольно поздно в проекте, я новичок в Django, поэтому я не подготовил папки в начале проекта, что является моей ошибкой. У меня были проблемы со статическими файлами, мне удалось исправить статические файлы для проекта, но моя админ-панель Django, похоже, имеет проблемы с поиском статических файлов для админ-панели.
Вот типы ошибок, которые я получаю:
WARNING 2024-08-14 09:27:03,080 log 10464 13992 Not Found: /static/admin/css/responsive.css
WARNING 2024-08-14 09:27:03,080 log 10464 12416 Not Found: /static/admin/css/nav_sidebar.css
WARNING 2024-08-14 09:27:03,080 basehttp 10464 13992 "GET /static/admin/css/responsive.css HTTP/1.1" 404 179
WARNING 2024-08-14 09:27:03,080 basehttp 10464 12416 "GET /static/admin/css/nav_sidebar.css HTTP/1.1" 404 179
Админ-панель загружается, просто не загружаются эстетические аспекты, например, css.
Вот структура папок:
├───api
│ ├───migrations
│ ├───utils
├───assets
│ ├───css
│ └───images
├───config
│ ├───django (This is where the base.py, prod.py, test.py, dev.py files)
│ │ └── base.py
│ │ └── test.py
│ │ └── dev.py
│ │ └── prod.py
│ ├───settings (This is for storing files such as celery.py)
│ ├───env.py
│ ├───urls.py
├───templates
│ └───includes
└───.env
└───manage.py
└───requirements.txt
└───db.sqlite3
Я установил белый шум и поставил промежуточное ПО, я также поместил свои статические файлы в test.py, я покажу, что у меня получилось.
base.py:
test.py:
from .base import *
from config.env import BASE_DIR, env
DEBUG = env('DJANGO_DEBUG', default=True)
ALLOWED_HOSTS = env.list("ALLOWED_HOSTS", default=['*'])
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "/static/")
]
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "assets")
env.py:
import environ
from pathlib import Path
env = environ.Env()
BASE_DIR = Path(__file__).resolve().parent.parent
urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path("blockey/", admin.site.urls, name="admin"),
path("", include(("api.urls", "api"))),
]
Я опустил некоторые настройки в base.py, такие как LDAPS. Админ-панель также работает с оригинальной структурой папок Django, то есть папка assets, названная assets, не мешает статическим файлам админ-панели. Я также попробовал python manage.py collectstatic, и он все еще не работает, мне кажется, что это просто проблема с путями, и я слишком слеп. Это также не в производстве и работает на окнах IIS. Мои шаблоны для веб-сайта также имеют:
{% load static %}
and
<link rel="stylesheet" href="{% static 'css/app.css' %}" />
Который работает нормально, это просто панель администратора.