Django can';找不到项目级css文件
我是Django的新手,我试图了解Django是如何处理静态文件的。我正在根据教程建立一个博客网站。以下是我的项目布局:Django can';找不到项目级css文件,django,Django,我是Django的新手,我试图了解Django是如何处理静态文件的。我正在根据教程建立一个博客网站。以下是我的项目布局: -myblog -manage.py -myblog -settings.py -urls.py -blog -views.py -urls.py -views.py -static -blog -css -style.css -templates
-myblog
-manage.py
-myblog
-settings.py
-urls.py
-blog
-views.py
-urls.py
-views.py
-static
-blog
-css
-style.css
-templates
-blog
-blog.html
-static
-css
-style.css
-templates
-index.html
但是index.html文件找不到它的css文件,在index.html文件中,我有
{% load staticfiles %}
<link href="{% static 'css/style.css' %}" rel="stylesheet">
谁能告诉我这里发生了什么事?提前谢谢 Django无法检测到项目文件夹中的目录。如果你把static和templates文件夹保存在myblog中,它会工作得很顺利
-myblog
-myblog
-settings.py
-urls.py
-blog
-views.py
-urls.py
-views.py
-static
-blog
-css
-style.css
-templates
-blog
-blog.html
-static
-css
-style.css
-templates
-index.html
您可以拥有任意数量的静态文件文件夹,只需a)相应地命名这些文件夹(整个项目的静态文件和每个应用程序的静态文件)和b)设置中静态文件夹的路径 在大多数最新的django(1.8)项目中,我有以下设置
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'app_name_here/static/'),
os.path.join(BASE_DIR, 'static/'),
os.path.join(BASE_DIR, 'static/bootstrap-3.3.4'),
)
没有定义
STATIC\u ROOT
。我的错,STATIC和templates文件夹实际上在项目文件夹中(我修改了我的文件结构),但它不起作用。我在帖子中添加了我的settings.py,但它不起作用。@KevinZhu要想使用它,你需要先collectstatic
,如果你准备好部署的话。如果将os.path.join(BASE_DIR,'static')
添加到STATICFILES_DIRS
,它是否正常工作?否,它说STATICFILES_DIRS
不应该包含static_ROOT
。django是在startproject
时定义了static_ROOT
变量还是手动定义的?如果您将STATIC\u ROOT=None
放入,查看它是否有效。正如我前面提到的,您可以通过运行django admin collectstatic
来收集静态文件,但我非常确定,如果您的项目正在开发中,您将需要反复执行此操作。django自动定义静态根目录
。它不允许我将其更改为无,它显示您正在使用staticfiles应用程序,而没有将STATIC\u ROOT设置设置为文件系统路径
,当我执行django collectstatic
时,它显示未知命令:collectstatic
。
-myblog
-myblog
-settings.py
-urls.py
-blog
-views.py
-urls.py
-views.py
-static
-blog
-css
-style.css
-templates
-blog
-blog.html
-static
-css
-style.css
-templates
-index.html
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'app_name_here/static/'),
os.path.join(BASE_DIR, 'static/'),
os.path.join(BASE_DIR, 'static/bootstrap-3.3.4'),
)