【发布时间】:2018-10-14 12:06:51
【问题描述】:
我正在尝试做一些应该直截了当的事情,但我无法让它正常工作。
我想在一个网格中显示图像,假设每列 4-6 个图像,并且能够选择一个然后点击提交按钮。
我的模型看起来像:
class MyPicture(models.Model):
name = models.CharField(max_length=60,
blank=False,
unique=True)
logo = models.ImageField(upload_to='logos')
def __str__(self):
return self.name
我的表格如下:
class MyPictureForm(forms.Form):
def __init__(self, data, *args, **kwargs):
super(MyPictureForm, self).__init__(data, *args, **kwargs)
self.fields['pictures'] = forms.ModelChoiceField(queryset=MyPicture.objects.all())
我的看法是这样的:
def mypicture(request):
form = MyPictureForm(request.POST or None)
if form.is_valid():
#TODO
return render(request, 'myproj/picture.html', {'form': form})
最后,我的 hmtl(我认为问题出在哪里):
<form action="{% url 'mypicture' %}" method="post">
{% csrf_token %}
{% for s in form.pictures %}
<option value="{{ s.id }}"><img src="{{ MEDIA_URL }}{{ s.logo.url }}"/></option>
{% endfor %}
<input type="submit" value="Submit" class="btn btn-primary"/>
</form>
图片只是不显示。当我在表单中设置断点时,我能够仔细检查图片的地址是否被正确选择。
我确信错误出现在 html 中,但尽管我尝试了很多次,但我还是不知道在哪里。
也许用新的眼光,你会在几秒钟内发现它......希望如此! :)
最佳:
埃里克
【问题讨论】:
-
后端或javascript控制台中是否有任何错误?
-
@rob 感谢您的帮助。不,我没有收到错误。那是最糟糕的。 :(