我正在做django-contrib評論的自定義評論應用程序到我的Django應用程序。終於,我獲得了具有圖像字段的評論應用程序,並且它顯示在當然的模板中。但這是事情,當我試圖發表評論與圖片,它不保存圖像文件,並說空(該字段是必填項)。任何人都可以幫我弄清楚。這裏是一些代碼片段。django自定義評論的圖像字段不工作
models.py
class CommentWithPic(Comment):
image = models.ImageField(upload_to="comments/%Y/%m/%d/", null=True, blank=True)
forms.py
class CommentFormWithPic(CommentForm):
image = forms.ImageField()
def get_comment_model(self):
return CommentWithPic
def get_comment_create_data(self):
data = super(CommentFormWithPic, self).get_comment_create_data()
data['image'] = self.cleaned_data['image']
return data
post_with_comment.html
{% render_comment_list for adi %}
{% get_comment_form for adi as form %}
<form action="{% comment_form_target %}" method="post">
{% csrf_token %}
{% for field in form %}
{% if field.is_hidden %}
{{ field }}
{% else %}
{% if field.errors %}{{ field.errors }}{% endif %}
{{ field.label }}
{{ field }}
{% endif %}
{% endfor %}
<input type="hidden" value="{% url 'ad' adi.id %}"/>
<input type="submit" value="comment"/>
</form>
'CommentForm'是一個'ModelForm'?你有沒有嘗試過'image = forms.ImageField(required = False)'? – 2014-11-03 17:57:26
@ TimmyO'Mahony,是的,我試過required = False,如果是這樣,但它沒有圖像文件。而且,它是CommentForm。正如它在django文檔中所說 – Zorig 2014-11-03 18:03:00
那麼你想要做什麼?你說如果你不包含'required = False',那麼它會發布評論頁面並且抱怨圖片字段是必需的(這是正確的功能),但是如果你包含'required = False',那麼它會發表評論沒有圖像(這也是正確的功能) – 2014-11-03 18:20:44