1

私は Django を初めて使用します。この問題を解決する方法について行き詰まっています。

次のように ImageField を含むモデルがあります

name = models.CharField(max_length=100)
description = models.CharField(max_length=1000)
file = models.ImageField(upload_to='img')

そして、私のsettings.pyに私は持っています

STATIC_ROOT = os.path.join(PROJECT_PATH, "static")
STATIC_URL = '/static/'

MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
MEDIA_URL = 'media/'

これを処理するために次のURLパターンがあります

 url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
                            'document_root': settings.MEDIA_ROOT, 'show_indexes' : True
                            })

管理ページでは、メディア フォルダー内の予想される場所に画像を完全に正常にアップロードでき、127.0.0.1:8000/media/img/my_image.jpg を読み込むことでこれにアクセスできます。問題は、標準の管理パネルで、現在アップロードされているオブジェクトの画像を表示するリンクが、現在の URL の末尾に media/img/my_img.jpg を追加するだけで、404 を受け取ることです。

この問題を解決する最善の方法がわかりません。これが理にかなっていることを願っています。さらに情報が必要な場合はお知らせください。

ありがとう。

4

1 に答える 1

0

変化する

MEDIA_URL = 'media/'

MEDIA_URL = '/media/'

URL への追加を停止し、代わりに置き換える必要があります。

于 2014-03-12T16:18:17.190 に答える