我似乎無法包含我的引導程序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',但我討厭做一些我不明白的東西。是這樣,這個命令從我定義的位置獲取文件並將它們放在其他地方(副本),然後將它們包含在模板中?這有點令人困惑...... –