0

次のような FileField() を持つモデルがあります。

image = models.FileField(upload_to='/Users/john/projects/MyDjangoApp/foobars/images/')

したがって、foobar は MyDjangoApp のモジュールです。将来的には、barfoos のような別のモジュールが登場し、独自のイメージ フォルダーが作成されます。

私が理解していないのは、テンプレートでこれを処理する方法です。今、次のようなものが立っています:

<td><img src="{{ foobar.image.url }}" height="350" width="350"></td>

したがって、次のようになります。

/Users/john/projects/MyDjangoApp/foobars/images/71RkbKwBxnL._SL1004_.jpg

しかし、それは次のようなものでなければなりません:

http://127.0.0.1:8000/foobars/images/71RkbKwBxnL._SL1004_.jpg

私が見つけたすべての URL パターンは、/MyDjangoApp/static/images でホストされている画像の場合にのみこれを処理します。

Django でこれを処理する Ho。

お時間をありがとうございました!

4

1 に答える 1

2

upload_to引数は、設定に対する相対パスである必要がありますMEDIA_ROOT。ファイルへのアクセスに使用する URL は、MEDIA_URL設定に追加された相対パスと同じです。

また、 と および と の設定に関するFileFieldドキュメントImageField確認てください。MEDIA_ROOTMEDIA_URL

于 2013-07-27T19:41:30.953 に答える