Django外部CSS文件问题

问题描述 投票:0回答:3

几天以来,我一直在尝试设置django项目,以使用外部css文件运行html模板。到目前为止,没有成功....

我已经安装了staticfiles(我使用django 1.2.4。),然后将'staticfiles'放入settings.py中的INSTALLED_APPS中,并添加了以下代码:

STATIC_ROOT = os.path.join(os.path.abspath(os.path.dirname(file)),“静态”)

STATIC_URL = '/静态/'

我的css文件位于/static/css/stylesheet.css下

我的html模板具有链接

link rel =“ stylesheet” type =“ text / css” href =“ {{STATIC_URL}} css / stylesheet”

运行服务器后,页面加载正常。但是,django找不到我的样式表...

我在这里做错了什么?

css django static
3个回答
1
投票

静态根目录和url实际上并不托管文件。前面提到的static serve选项(在urls.py中)是开发和学习的不错选择,但是如果移至部署服务器,则应使用Web服务器提供的静态托管。

静态文件夹的工作方式是,将每个应用程序,项目等的路径位置添加到settings.py中的静态目录设置中。然后,当您运行命令“ django-admin.py collectstatic”时,django将所有目录拉入静态根目录。首次运行collectstatic后,将仅再次复制已更改的文件。这将多个静态目录合并到一个公共位置。

Static files documentation


0
投票

您需要将RequestContext传递到视图,因此它将通过静态文件的CONTEXT_PROCESSORS(包括STATIC_URL变量)运行。

from django.template.context import RequestContext

context = {'my_other_context': 1}
render_to_response('your_template.html',
                   context_instance=RequestContext(request, context))

0
投票

我建议您仅在url.py文件中使用类似django.views.static.serve的实例:

(r'^(?P<path>.*)$', 'django.views.static.serve',{'document_root': '/path/to/css/'}),
© www.soinside.com 2019 - 2024. All rights reserved.