首页 > 解决方案 > 为什么没有加载静态文件?| 姜戈

问题描述

我正在尝试加载静态文件,但它显示以下错误:

GET http://127.0.0.1:8000/static/css/user/style.css net::ERR_ABORTED 404 (Not Found) - home:25
GET http://127.0.0.1:8000/static/css/user/style.css 404 (Not Found) - home:25
GET http://127.0.0.1:8000/static/img/logo.png 404 (Not Found) - home:149
GET http://127.0.0.1:8000/static/img/logo.png 404 (Not Found) - home:1

单击此处查看错误图像。

我的代码:

-行政

设置.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")

网址.py

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('Welcome.urls')),
    path('auth/', include('Authentication.urls')),
    path('ad/', include('Ads.urls')),
    path('user/', include('UserDashboard.urls')),
    path('admin/', include('AdminDashboard.urls')),
]

if settings.DEBUG:
    urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
    urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

模板

<link href="{% static 'css/user/style.css' %}" rel="stylesheet">

目录结构

点击此处查看项目目录结构图片

代码说明

标签: pythonpython-3.xdjangodjango-staticfilesdjango-static

解决方案


STATICFILES_DIRS = [BASE_DIR / '资产']

STATIC_URL = '/静态/'

STATIC_ROOT = BASE_DIR / '静态'

MEDIA_URL = '/媒体/'

MEDIA_ROOT = BASE_DIR / '媒体'

将以下代码添加到您的 settings.py

确保您拥有包含所需文件的资产目录。在根目录中创建静态和媒体文件夹。

如果您使用的是 DEBUG=True ,那么您无需在主 urls.py 中设置有关静态文件的任何内容。所以你可以排除这些行。它们用于 DEBUG=False

如果 settings.DEBUG: urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT) urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

最后运行

python manage.py collectstatic

命令,你都准备好了。


推荐阅读