1

私はdjangoに写真を表示させようとしています。PILをインストールしましたが、動作するようです。私はpy 2.7、win 7、開発サーバー、およびsqlite3を実行しています

私の静的ルート:

STATIC_ROOT = r'H:/netz2/skateproject/static/'

このフォルダに背景画像があり、次の方法でアクセスできます

http://127.0.0.1:8000/static/images/lomax.jpg

今、画像フィールドと管理者を介して写真をアップロードしようとしています。それは正常に動作し、画像は正しいフォルダに配置されます(これまでにフォルダを何百万回も変更して、それが問題であるかどうかを確認しました)が、画像を表示できません。

私のモデルの一部:

class Sk8(models.Model):
    name        = models.CharField(max_length=50, default='name of the model')
    bild1       = models.ImageField(upload_to="uploads/")

私のメディアルート:

MEDIA_ROOT = r'H:/netz2/skateproject/media/'

画像は正しいフォルダーに配置されます。netz/skateproject/media/pic.jpg

しかし、localhost がこのフォルダにアクセスできないようです。試してみると-404が表示され、djangoは、URLが自分のURLで定義したものと一致しないことを通知します。これは本当ですが、静的フォルダーに背景画像の URL を定義していませんでした。これには問題なくアクセスできます。

また、次のように、html テンプレートからファイルにアクセスしようとしました。

{% extends "grundgerüst.html" %}
{% block inhalt %}
    <div id='skatelist'>
        {% for sk8 in skates %}
        <p><a href="/skates/{{sk8.slug}}/">{{sk8}}</a></p>
        <p><img src="{{sk8.bild.url}}"/></p>
        {% endfor %}
    </div>
{% endblock %}

明らかに画像が表示されません。

ここで何が悪いのかわかりません。私はローカルホストで写真を見ることができるはずですか?クロムが私に与えるエラーの写真をここに示します

ここに画像の説明を入力

つまり、写真のフォルダーがコード例のフォルダーと異なる場合は、異なる設定をテストして変更したためです。

誰かがimage_fieldを理解するのを手伝ってくれることを本当に願っています。表示できない場合に写真をアップロードするのはあまり意味がありません:)

前もって感謝します!!!ダニエル

ああ、そして-私はすでにグーグルとジャンゴのリファレンスなどを試しました。正直なところ、そのように理解できませんでした。すべての助けに感謝します!

4

1 に答える 1

1

Django の contrib.staticfiles アプリは、DEBUG モード[ref]のときに静的ファイルを提供するために URL をモンキーパッチします。残念ながら、メディア ファイルについては同じことが言えません。

次のスニペットをプロジェクト urls.py に追加して、メディアを表示します

django.conf import settings

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

ドキュメント リファレンス

于 2013-01-07T03:20:51.177 に答える