在我的项目中,我有一个注册页面。在注册页面中,我有一个指向我的静态文件夹中的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)
在我的一个应用程序文件夹中,有一个名为“ static”的文件夹。
然后我在文档中引用此静态文件夹中的文件:
{% load static %}
<link rel="stylesheet" href="{% static 'signup.css' %}">
<h1 class="myh1">YO!</h1>
我还没有像在开发模式下那样运行collectstatic命令。有人知道为什么CSS更改未应用到html页面吗?谢谢。
答案 0 :(得分:1)
那是因为您忘了告诉Django实际上在静态文件夹中查找look
假设您有一个名为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!
]
您快完成了,太糟糕了! ?
此外,请不要忘记强制刷新页面,以便重新加载缓存(如果您在开发中不这样做,则更改不一定会更新!)