django - Django - 静态文件无法正常工作
问题描述
在我的项目中,我有一个注册页面。在注册页面中,我的静态文件夹中有一个指向 css 文件的链接。但是,css 并未应用于文档。
这是我的代码 - settings.py:
STATIC_ROOT = os.path.join(BASE_DIR, 'static'),
STATIC_URL = '/static/'
urls.py:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
在我的一个应用程序文件夹中,我有一个名为“静态”的文件夹。
然后,我在文档中引用此静态文件夹中的文件:
{% load static %}
<link rel="stylesheet" href="{% static 'signup.css' %}">
<h1 class="myh1">YO!</h1>
因为我处于开发模式,所以我没有运行 collectstatic 命令。有谁知道为什么没有将 css 更改应用于 html 页面?谢谢你。
解决方案
那是因为你忘了告诉 Django 去查看你的静态文件夹
假设您有一个名为my_app
. 关于您所说的,您的目录结构如下所示:
.
└── your_project
├── my_app
│ ├── static
│ │ ├── my_app
│ │ │ ├── css_file.css
│ │ │ └── ...
│ │ └── ...
│ └── ...
└── your_project
├── settings.py
└── ...
然后,您需要在您settings.py
的每个应用程序中添加以下行your_project
:
STATIC_URL = '/static/' # <--- you did this one
STATIC_ROOT = os.path.join(BASE_DIR, "static/") # <--- also this one
STATICFILES_DIRS = [
[...]
os.path.join(BASE_DIR, 'my_app', 'static'), # <--- you're missing that!
]
你几乎完成了,太糟糕了!
此外,不要忘记强制刷新页面,以便重新加载缓存(如果您在开发中不这样做,则不一定会更新更改!)
推荐阅读
- reactjs - 如何部署 Electron React 样板应用程序?
- python - 遍历字典中的多个键和项值
- github - 设置本地动作脚本
- java - mockMvc .contentType(MediaType.APPLICATION_JSON) 的目的是什么?
- javascript - KeyboardEvent:按下“Shift”时如何获取数字键代码?
- nlog - 带有 ${oneexception} 的 NLog 布局不显示文字文本
- fonts - Vuepress 添加字体
- linux - linux和openai健身房问题
- c# - 删除属性名称并改用该值
- php - 如果 SQL 表包含行,则插入不同的内容