首页 文章

Django外部css文件问题

提问于
浏览
0

几天来,我一直在尝试设置我的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”)STATIC_URL ='/ static /'

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

我的html模板有链接

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

运行服务器后,页面加载就好了 . 然而django找不到我的样式表......

我在这做错了什么?

3 回答

  • 0

    静态根和url实际上不承载文件 . 前面提到的静态服务选项(在urls.py中)是开发和学习的一个很好的选择,但如果你转移到部署服务器,你应该使用你的网络服务器提供的静态主机 .

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

    Static files documentation

  • 1

    您需要将 RequestContext 传递给视图,因此它将运行staticfiles' 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/'}),
    

相关问题