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 に答える