在使用基于通用类的视图时,我在加载我的css和javascript文件时遇到了一些问题。
文件夹结构是这样的。
- app1
- views.py ect
- templates
- app1.html
- static
- static
- css
- base.css
app1.html:
<link href="/static/css/base.css" rel="stylesheet">
views.py:
class ClientList(ListView):
model = Client
template_name = 'app1.html'
我尝试在应用程序中移动静态文件,但它仍然无法找到它们
如果您需要更多信息,请告诉我。
答案 0 :(得分:3)
您在根static
内不需要额外的static
目录:
- app1
- views.py
- templates
- app1.html
- static
- css
- base.css
因此,在模板中,您可以将base.css
称为:
{% static 'css/base.css' %}
并且不要忘记设置STATICFILES_DIRS
设置。
如果你想将静态文件放到app dir中,布局可能是这样的:
- app1
- views.py
- templates
- app1.html
- static
- css
- base.css
在这种情况下,不需要STATICFILES_DIRS
设置。
请注意,如果您将静态文件(或模板)放入app目录,那么最好添加一个带有应用程序名称的目录,以防止文件夹与其他应用程序发生冲突:
- app1
- views.py
- templates
- app1
- base.html
- static
- app1
- css
- base.css
然后在模板中:
{% static 'app1/css/base.css' %}