ImageField Django模板

时间:2017-08-24 15:12:59

标签: django

我是Django的新人。我在文档和本网站上阅读了很多关于我的问题。但我真的无法理解我应该怎么做才能做到这一点。有人可以告诉我所有步骤吗?

model.py:

class Post(models.Model):
    title=models.CharField(max_lengt=50)
    img=models.ImageField(upload_to = 'images')

模板:

{% for post in posts %}
     <h1> {{post.title}} </h1>
     <img src="{{post.img}}">
{% endfor %} 

settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

如果我访问管理页面,我该如何上传图片?在模板中,我看不到图像!

抱歉我的英语不好。请帮帮我

1 个答案:

答案 0 :(得分:1)

template中,使用:

{% for post in posts %}
<h1> {{post.title}} </h1>
<img src="{{ post.img.url }}"> 
{% endfor %}

您必须添加{{ post.img.url }}

另外,请确保在urls.py中有:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

它会起作用。