由于某些原因,我似乎不能包含我的引导css文件,尤其是我对Python和Django还很陌生,所以我肯定做错了什么。
- 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/'
据我所知,有可能有一个"全局"的"静态文件位置",你的所有项目都可以使用,和"每个应用程序"的"静态文件位置",它只能由应用程序使用,其中的基础目录,他们驻留。
任何帮助感激不尽!
- 编辑:**
这是我的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),
]
6条答案
按热度按时间rn0zuynd1#
我也有类似的问题(Django 1.10)。
因此,如果我添加
<link href="{% static 'blog/css/bootstrap.min.css' %}" rel="stylesheet">
(style.css
位于目录'blog/css'中),所有样式都将不起作用。但当我删除'css':
<link href="{% static 'blog/bootstrap.min.css' %}" rel="stylesheet">
(style.css
位于目录“博客”中)没问题。也许它能帮到你!
jtoj6r0c2#
我认为您需要添加以下到您的网址:
除非你在Django服务器上工作,它为你的静态文件服务。
根据Django文档,您的应用程序结构正常。
当你要设置你的prod并通过Apache/Nginx/etc启动serverstatic时,你需要运行collectstatic,现在还不需要。
btxsgosb3#
我的快速猜测是您是上一级的。您的
static
目录嵌套在appname
下。尝试将其上移一级并直接在浏览器中访问资源(http://example.com/static/appname/css/bootstrap.min.css)我从来没有做过应用程序特定的资源,所以如果这是我的目标,我道歉。
flvlnr444#
如果静态链接仅以
appname
开头会怎样?即,代替
请试试看
AFAIK,
{% static %}
中的字符串是静态文件夹中静态文件的路径。我没有足够的观点来评论,所以我把我的猜测留在这里。
drkbr07n5#
zte4gxcn6#
你需要把这一行放在HTML标记的外面。
我在这里找到了答案:https://tutorial.djangogirls.org/en/css/.