我似乎无法包含我的引导程序css文件出于某种原因。尤其是对Python和Django来说我很新,所以我肯定做错了什么。Django静态文件(css)不起作用
- 的Django 1.9.2
阅读 “静态文件” 的official Django explanation管理后我绝对零聪明:(这里是我的项目文件夹层次:
/projectname/
/appname/
/static/
| /appname/
| /css/
| | bootstrap.min.css
| | custom.css
| /img/
| /js/
|
/templates/
/includes/
head.html
footer.html
index.html
base.html
我从基础开始,所以我忽略了head.html
并尝试使用base.html
,如下所示:
<title>{% block title %}{% endblock %}</title>
<!-- Bootstrap core CSS -->
{% load staticfiles %}
<link href="{% static 'static/appname/css/bootstrap.min.css' %}" rel="stylesheet">
没有运气。这里是我的设置文件:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATICFILE_DIRS ='/users/edchigliak/documents/projects/projectname/appname/static/'
由于FAS按照我的理解,它可能有一个“全局”“静态文件的位置”,这所有的项目都可以使用,而且“每个应用程序”“静态文件位置”只能由其所在的基础目录内的应用程序使用。
任何帮助表示赞赏!
编辑:
这是我的urls.py
配置:
from django.conf.urls import url
from django.contrib import admin
from budgeteer.views import hello, hours_ahead, current_datetime
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/$', hello),
url(r'^index/$', current_datetime),
url(r'^time/plus/(\d{1,2})/$', hours_ahead),
]
删除'静态/ appname/css/bootstrap.min.css'中的静态(或者静态/ appname,我不是100%确定) – Benjamin
也许如果你不在调试模式,你必须运行collectstatic manage.py – Benjamin
啊,你看,我读到了'collectstatic',但我讨厌做一些我不明白的东西。是这样,这个命令从我定义的位置获取文件并将它们放在其他地方(副本),然后将它们包含在模板中?这有点令人困惑...... –