Django静态文件问题

时间:2011-01-19 00:55:26

标签: python django

Django staticfiles app help

的重复

我正在使用Django 1.3测试版,静态文件应用程序令人困惑。在开发模式下,它意味着自动提供STATIC_URL路径中的文件。

  

来自http://docs.djangoproject.com/en/dev/howto/static-files/

     

如果您正在使用内置功能   开发服务器(runserver   管理命令)并有DEBUG   设置为True,您的静态文件   将自动提供   STATIC_URL正在开发中。

这似乎不起作用,所以我尝试了一个url模式('/ static /'),它路由到static.serve视图。这只是404'd。不知何故,它与STATIC_URL冲突,如果我将其更改为'assets /',它将从静态服务文件就好了。对静态URL使用'/ static'是合乎逻辑的,但这有冲突。

网址格式:

urlpatterns = patterns('',
    # Serve static files for *development only*
    (r'^static/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': settings.STATIC_ROOT}),

静态文件设置:

STATIC_ROOT = '/home/dave/static/flux'

# URL that handles the static files served from STATIC_ROOT.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

理想情况下,我希望Django使用静态URL在开发中搜索文件,而不必使用任何urlpatterns。

1 个答案:

答案 0 :(得分:5)

如果要在使用内置Django服务器时提供静态文件,则需要添加urlpattern。这就是我所做的(在你所有其他模式之后加上这个:

if settings.DEBUG:
    urlpatterns += patterns('',
            (r'^static/(.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_PATH}),
    )