![](/img/trans.png)
[英]How can I determine whether a checkbutton is checked without assigning an IntVar?
[英]How can I determine, inside of the template, whether or not an image was uploaded?
我试图确定用户通过表单提交数据后是否已上传图像。
假设我有一个模型:
class Book(models.Model):
cover_image = models.ImageField(upload_to="foo/bar/fun")
不需要封面图像,因此可以在没有cover_image
值的情况下创建此对象。
现在,在模板中,我想检查是否有上传的文件。 如果没有上传的文件,则应显示默认的HTML块。 我最初的方法似乎不起作用,但我陷入了困境。 由于某种原因,图像区域显示时好像要显示图像;否则,图像区域就会显示出来。 因此,将显示替代文本。 实际上应该显示的是不同的HTML块,如下所示 :
{% if my_book_context_object.cover_image %}
<img src="the image"></img>
{% else %}
<img src="placeholder image"></img>
{% endif %}
我当时考虑过可以检查模型方法的内部,但是我不确定要检查什么:
class Book(models.Model):
cover_image = models.ImageField(upload_to="foo/bar/fun")
def has_cover_image(self):
...unknown check logic...
return True or False
我想,无需检查您是否有图像。
您可以在模型中默认图像。 默认值为,如果没有人上传图像,将显示默认图像。 当您“上载”时,路线会更改。
class Book(models.Model):
cover_image = models.ImageField(upload_to='foo/bar/fun', default='foo/bar/fun/taco.jpg')
根据我的说法,您的代码必须有效,我不知道为什么不行。 你舒尔德写了什么错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.