2

私は Django 1.5.4 を使用しており、次の構造のプロジェクトがあります。

django_site
    -django_site
    -books # the app
        -media
            -images
                -books
                -authors
        -static
            -images
    -templates

これは必要なコードです:

# settings.py
MEDIA_ROOT = '/root/django_site/books/media/'
MEDIA_URL = '/media/'

# models.py
class Book(models.Model):
    image = models.ImageField(upload_to="images/books/")

# urls.py
urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^books/$', 'books.views.get_all_books'),
)

私の問題は、管理サイトから画像を追加した後、アップロード ボタンの下の画像リンクをクリックすると404、パスが存在しないというページが表示されることです。

リクエスト URL は ですhttp://127.0.0.1:8000/media/books/media/images/book/out_of_control_1.JPGが、実際には結果を/root/django_site/books/media/images/out_of_control_1.JPG.

どうすれば修正できますか?あなたの応答を楽しみにしています。

4

1 に答える 1

2

あなたはdeveloppementサーバーを使用しているように見えるので、あなたの問題はこれに関連していると思います:Django MEDIA_URLとMEDIA_ROOT

answerで説明されているように、デバッグが True に設定されている場合、メディア処理用に特定の URL パターンを設定する必要があります。

この質問に関するドキュメントもご覧ください。

于 2013-10-03T20:00:27.013 に答える