2013-07-24 8 views
14

を表示します。ジャンゴ - 私はちょうどジャンゴの使用を開始すると、私はのImageFieldを表示する方法についての情報の多くを発見していないので、私はこの作られたのImageField

models.py

class Car(models.Model): 
    name = models.CharField(max_length=255) 
    price = models.DecimalField(max_digits=5, decimal_places=2) 
    photo = models.ImageField(upload_to='site_media') 

景色.py

def image(request): 
    carx = Car() 
    variables = RequestContext(request,{ 
     'carx':carx 
    }) 
    return render_to_response('image.html',variables) 

image.html

{% extends "base.html" %} 
{% block content %} 
    <img src=carx /> 
{% endblock %} 

私はすでにターミナルので、画像を保存して、私はそこにある知っている、またimage.htmlでこれを行う場合:

{% block content %} 
    {{ carx }} 
{% endblock %} 

出力に含まです:私のエラーがどこにあるCarオブジェクト

は誰も教えてもらえますか?

ありがとうございます。

答えて

23

ImageFieldにはurlという属性が含まれています。この属性をテンプレートで使用して適切なHTMLを表示できます。

{% block content %} 
    <img src="{{ carx.photo.url }}"> 
{% endblock %} 
+1

は、次のコードを使用してください。 –

+0

私はそれがより多くのですsettings.py STATIC_URL = '/ユーザ/ gcarranza/PycharmProjects/django_bookmarks/site_media /' STATICFILES_DIRS =( '/ユーザ/ gcarranza/PycharmProjects/django_bookmarks/site_media'、 ) – unixeO

+0

でこれを持っています実際のWebサーバーを設定する際の問題 - https://docs.djangoproject.com/en/dev/howto/static-files/#serving-files-uploaded-by-a-userは、あなたがDjangoしかし、それは実稼働環境では良い考えではありません。 –

-1

ありがとう、私はこのように修正します。

views.py

def image(request): 
carx = Car.objects.all() 
for mycar in carx: 
    MyCar = mycar.photo.url 
variables = RequestContext(request,{ 
    'carx':MyCar 
}) 
return render_to_response('image.html',variables) 

image.html

{% extends "base.html" %} 

{% block content %} 
    <img src="{{ MEDIA_URL }}{{ carx }}"/> 
{% endblock %} 

settings.py

MEDIA_URL = '/Users/gcarranza/PycharmProjects/django_bookmarks/' 
STATIC_URL = '/Users/gcarranza/PycharmProjects/django_bookmarks/site_media/' 
STATICFILES_DIRS = (
'/Users/gcarranza/PycharmProjects/django_bookmarks/site_media',) 

今私はcarx.photo.urlは、ファイルの絶対パスを取得することを知っています静的ファイルとして読み込む唯一の問題です。

2

また、Settings.pyの静的URLを使用することもできます。アプリのStaticディレクトリに「Uploads」などのディレクトリを作成します。あなたのモデルでこれをmodels.pyに変更してください。とにかく、site_media` `からコンテンツを提供するように構成されたサーバーがあると仮定すると、

<img src="{% static carx.photo.url %}" /> 
関連する問題