Djangoを使い始めたばかりで、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')
views.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 %}
私はすでにターミナルを使用しているので画像を保存していますが、そこにあることも知っています。
{% block content %}
{{ carx }}
{% endblock %}
出力は次のとおりです:Carオブジェクト
誰かが私のエラーの場所を教えてもらえますか?
どうもありがとう。
ImageField
にはurl
属性が含まれており、これをテンプレートで使用して適切なHTMLをレンダリングできます。
{% block content %}
<img src="{{ carx.photo.url }}">
{% endblock %}
Settings.pyで静的URLを利用することもできます。アプリの静的ディレクトリに、「アップロード」などのディレクトリを作成します。 models.py
のモデルでもこれを変更します。
次のコードを使用します。
<img src="{% static carx.photo.url %}" />