Python django自定义注释';s图像字段不工作

Python django自定义注释';s图像字段不工作,python,django,image,comments,Python,Django,Image,Comments,我正在对我的django应用程序执行django contrib评论的自定义评论应用程序。最后,我终于实现了我的评论应用程序,有图像字段,它显示在模板当然。但问题是,当我试图用image发表评论时,它不会保存图像文件,并显示为空(此字段是必需的)。有人能帮我弄清楚吗。下面是一些代码片段 models.py class CommentWithPic(Comment): image = models.ImageField(upload_to="comments/%Y/%m/%d/", nul

我正在对我的django应用程序执行django contrib评论的自定义评论应用程序。最后,我终于实现了我的评论应用程序,有图像字段,它显示在模板当然。但问题是,当我试图用image发表评论时,它不会保存图像文件,并显示为空(此字段是必需的)。有人能帮我弄清楚吗。下面是一些代码片段

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
用_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>
{adi%的%render\u comment\u列表}
{%get_comment_表单作为adi的表单%}
{%csrf_令牌%}
{%形式的字段为%}
{%if field.is_hidden%}
{{field}}
{%else%}
{%if-field.errors%}{{field.errors}{%endif%}
{{field.label}
{{field}}
{%endif%}
{%endfor%}

在处理'ImageField'时,您需要像下面那样声明表单(注意
enctype
属性)

<form enctype="multipart/form-data"  action="{% comment_form_target %}" method="post">\

CommentForm
a
ModelForm
?您是否尝试过
image=forms.ImageField(required=False)
?@TimmyO'Mahony,是的,我尝试过required=False,如果是,则发布,但没有图像文件。而且,这是一种评论形式。正如django Docso中所说的,你想做什么?您说过,如果您没有包含
required=False
,则它将发布评论页面并抱怨图像字段是必需的(这是正确的功能),但如果您确实包含
required=False
,则它将发布没有图像的评论(这也是正确的功能)我想做的就是用图片发表评论。但当我试着这么做的时候,似乎它并没有发布那个way@TimmyO'Mahony嗨,我更新了问题好的,我刚刚添加了
enctype=“multipart/form data”
,并且没有添加
required=False
,但仍然相同,它没有发布图片实际上除了图片字段之外,所有文本字段都发布了。有人能帮我吗
class CommentFormWithPic(CommentForm):
    image = forms.ImageField(required=False)

    ...