Django статические файлы странное поведение - PullRequest
0 голосов
/ 18 августа 2011

в моих 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">

Что не работает. Странная вещь заключается в том, что если я изменю свои настройки.py:

STATIC_URL = 'static/'

и мой шаблон:

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

работает !! Я гнался по кругу, чтобы исправить это, и я просмотрел множество сообщений на форуме, но не могу понять, что я делаю неправильно.

1 Ответ

2 голосов
/ 18 августа 2011

если вы используете приложение staticfiles, оно вам не нужно (если вы используете Django 1.3):

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

Оно обрабатывается приложением автоматически.Попробуйте убрать и посмотреть что получится.

...