python - 为什么没有加载静态文件?| 姜戈
问题描述
我正在尝试加载静态文件,但它显示以下错误:
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 没有。
解决方案
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
命令,你都准备好了。
推荐阅读
- javascript - 如何使用 socketio 广播消息
- python - tmux 会话中的 Python 绘图未显示
- eclipse - 汇编文件(.S)在 Eclipse photon 中使用 GNU ARM 工具链引发错误
- angular - 如何使用 Apache 作为 Angular/Spring-Boot 的代理来防止 CORS 场景?
- r - 从 SAS 过渡到 R——如何在 R 中有效地重复相同的任务
- android - PlayerNotificationManager 未显示在 exoplayer、android 上播放视频的通知?
- sql - 添加与其他列相关的检查约束
- xcode - XCode 11:后台区域监控不起作用
- sharepoint - 禁用列表/文档库上的 PowerApps 按钮
- c++ - 如何使特征接受参数包?