我有这个应用程序,我需要在html模板上显示图像,这是不会发生的。
models.py
class cateledetails(models.Model):
cdid=models.IntegerField(unique=True,default=0)
cid=models.ForeignKey(category,to_field='cid',on_delete=models.CASCADE)
elename=models.CharField(max_length=20)
imgsrc=models.ImageField(upload_to='elements/',blank=True)
def __unicode__(self):
return u"{} {}".format(self.cdid,self.elename)
class Meta:
db_table="cateledetails"
views.py
def mainpage(request):
pic_details=get_object_or_404(cateledetails,pk=1)
template=loader.get_template('student/mainpage.html')
context={'pic_details': pic_details,}
return HttpResponse(template.render(context,request))
urls.py
urlpatterns= [
url(r'^mainpage/$',views.mainpage ,name='mainpage'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
mainpage.html
{% block body %}
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<h4>What sound does it make?</h4>
{% for image in pic_details.imgsrc_set.all %}
<img src="{{ image.imgsrc.url }}" alt="image">
{% endfor %}
</form>
{% endblock %}
我该怎么办?
答案 0 :(得分:2)
pic_details
是cateledetails
个对象。
此类只有一个名为ImageField
的{{1}}。由于imgsrc
不是imgsrc
,因此您无法使用ForeignKey
ForeignKey
语法。相反,只需直接引用该字段:
<field>_set