我有一个关于新的Django 1.3静态文件框架的一般问题。django静态文件在URL根
我非常喜欢Django 1.3中引入的新Django静态文件功能。通常,我设置STATIC_URL =“/ static /”,并将{{STATIC_URL}}模板标签输入到我的模板中。开发服务器如何自动提供静态文件,并且所有内容都按预期提供,这非常棒。
The {{ STATIC_URL }} would be substituted in the template and might serve up files like this...
example.com/static/css/master.css
example.com/static/images/logo.png
example.com/static/js/site.js
但是,我正在使用遗留网站,其中静态媒体安装在网址的根目录下。例如,静态URL的路径可能如下所示:
example.com/css/master.css
example.com/images/logo.png
example.com/js/site.js
它不使用“静态”url命名空间。
我想知道是否有办法让新的静态文件功能不使用静态名称空间并为上面的URL提供服务,但仍保留新的静态文件框架的好处(collectstatic,开发服务器提供的静态文件,等等)。我尝试设置STATIC_URL =“”和STATIC_URL =“/”,但都没有达到预期的效果。
有没有办法配置静态文件来提供没有命名空间的静态文件?感谢您的考虑。
谢谢jdi。在模板中,我是否仍然{{STATIC_ROOT}}或将它保留为/ css /,/ images /,/ js/....? –
它不再是静态应用程序的一部分,因为它不能通过'python manage.py collectstatic'收集。你只需要使用普通的URL:'/ css/foo.css'。这些都是从个别地点明确提供。它们甚至可以存在于django项目空间之外。 – jdi
document_root不应以'/'开头,您必须指定django项目的根目录,例如:'urlpatterns + = static('/ css /',document_root ='app_root/path/to/css /' )' –