0

他のいくつかの Django プロジェクトでは問題はありませんでしたが、私の人生では、特定のプロジェクトのローカル テスト マシンで静的メディア ファイルを取得することはできません。

Django 1.1.1 と Windows XP 環境を使用しています。

私のsettings.pyは、メディアホスティングのものについては次のようになります。

ROOT_PATH = os.path.dirname(__file__)
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = os.path.join(ROOT_PATH, 'site_media')

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/site_media/'

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

そして、それはここを見ています:

http://127.0.0.1:8000/site_media/schedule/img/add.png

ファイルは、次の行に沿ってサイト ディレクトリにあります。

c:\django\project_file\site_media\schedule\img\add.png

しかし、なぜか画像が表示されません。

何かアドバイス?

4

1 に答える 1

3

メディア ルートは完全に指定する必要があります。MEDIA_ROOT を次のように定義します。

ROOT_PATH = os.path.dirname(__file__)
MEDIA_ROOT = os.path.join(ROOT_PATH, 'site_media')

静的ファイルに関するこのドキュメントを読みましたか? urls.pyまた、静的コンテンツへのリクエストが正しく処理されるように、追加のルート構成を追加する必要があります。

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': settings.MEDIA_ROOT}),
于 2010-07-05T12:55:55.087 に答える