1

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

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">

目录结构

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

代码说明

  • 只需在根目录中添加静态文件并尝试将它们导入模板中,但未加载 css 文件
  • 但是有些媒体文件像这个媒体一样成功加载<link rel="shortcut icon" type="image/jpg" href="{% static 'img/logo.png' %}" />
  • 同样在 dir 结构中,我们可以在 static 文件夹的同一位置看到 img 和 css 文件夹,并且加载了 image 文件夹中的图像,但 css 文件夹中的 css 没有。
4

2 回答 2

0

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

命令,你都准备好了。

于 2021-09-18T10:11:33.857 回答
0

Settings.py

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

urls.py

+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

在 urlpatterns 的右括号之后添加这些。

触发此命令 python manage.py collectstatic

在所有这些设置之前,在您的项目文件夹中创建一个静态文件夹。希望这对你有用

于 2021-09-18T11:48:15.673 回答