Django 1.3放置在应用程序目录中的静态文件
我使用的是Django 1.3,应用程序中的静态文件令人困惑。 我在做什么: 1) 设定 2) 在myURL.py中提供服务Django 1.3放置在应用程序目录中的静态文件,django,Django,我使用的是Django 1.3,应用程序中的静态文件令人困惑。 我在做什么: 1) 设定 2) 在myURL.py中提供服务 if settings.DEBUG: urlpatterns += patterns( '', url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), ) 4) 我将
if settings.DEBUG:
urlpatterns += patterns(
'',
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
)
4) 我将这两个应用程序都添加到settings.py文件中已安装的_应用程序中。
现在在我的模板中,当我写以下行时:
<link rel="stylesheet" href="{{ STATIC_URL }}css/style.css" type="text/css" />
并插入style.css
但是当我写作的时候
<link rel="stylesheet" href="{{ STATIC_URL }}foldername/file.css" type="text/css" />
Django没有插入此文件
所以我的问题是:我做错了什么?为什么我不能从次要应用程序目录插入css文件?
关于这种情况,我有什么要告诉你的吗?这背后的想法是,你在
app/static
下发送所有应用程序及其自己的静态文件
在项目中部署应用程序后,运行python manage.py collectstatic
将复制通过STATICFILES\u FINDERS
设置找到的所有静态文件(默认情况下,该设置包含在每个已安装的应用程序中查找static
目录的查找程序)在您的STATIC\u ROOT
目录中,将通过STATIC\u URL
在
DEBUG
模式下,开发服务器处理STATIC\u URL
模式,但这是一个有趣的阅读:您有两个名为“STATIC”的目录。STATIC\u ROOT
再次指向哪一个?在官方网站上的文档中,我看到开发人员能够将静态文件放入应用程序的“STATIC/”子目录中。我错了吗?顺便说一下,如果我成功地将包含css文件的secondary_app/static/foldername/重命名为secondary_app/static/css/Django plugs-in-css文件。我不知道为什么。。。有人能解释这一点吗?你的意思是每次我们在开发环境中添加静态文件时,我们都必须运行collectstatic?@Glide:没有。如果发生了collectstatic但不想这样做:删除Apache别名并将静态文件\u urlpatterns
添加到URL中,然后打开调试。(在底部)。
<link rel="stylesheet" href="{{ STATIC_URL }}css/style.css" type="text/css" />
my_project/main_app/static/css/
<link rel="stylesheet" href="{{ STATIC_URL }}foldername/file.css" type="text/css" />