0

在我的 settings.py 我有:

import os
SITE_ROOT = os.path.realpath(os.path.dirname(__file__))
# ... #
STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
# ... #
STATIC_URL = '/static/'

在我的 urls.py 中,我有:

urlpatterns = patterns('',
url(r'^', include('myapp.urls')),
url(r'^admin/', include(admin.site.urls)),
)

if settings.DEBUG:
urlpatterns += patterns('',
    url(r'^static/(?P<path>.*)', 'django.views.static.serve', {
        'document_root': settings.STATIC_ROOT,
    }),

)

在我的模板中:

<img src="{{ STATIC_URL }}images/myimage.png">

这是行不通的。奇怪的是,如果我更改我的 settings.py:

STATIC_URL = 'static/'

和我的模板:

<img src="/{{ STATIC_URL }}images/myimage.png">

行得通!!我一直在兜圈子解决这个问题,并且我查看了很多论坛帖子,但我似乎无法弄清楚我做错了什么。

4

1 回答 1

2

如果您使用 staticfiles 应用程序,则不需要这个(假设您使用的是 Django 1.3):

if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^static/(?P<path>.*)', 'django.views.static.serve', {
            'document_root': settings.STATIC_ROOT,
    })

它由应用程序自动处理。尝试删除,看看会发生什么。

于 2011-08-18T01:52:02.417 回答