Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django UpdateView不上载ImageField_Python_Django_Django Models_Django Views_Django Generic Views - Fatal编程技术网

Python Django UpdateView不上载ImageField

Python Django UpdateView不上载ImageField,python,django,django-models,django-views,django-generic-views,Python,Django,Django Models,Django Views,Django Generic Views,我没有发现任何错误。 好的,谁看到了错误?因为我没有。这是我的密码: Views.py: class UpdateFeaturete(generic.UpdateView): template_name = 'images/updatefeaturete.html' model = FeatureteImage fields = ['header', 'body', 'image'] def get_object(self): return ge

我没有发现任何错误。 好的,谁看到了错误?因为我没有。这是我的密码:

Views.py:

class UpdateFeaturete(generic.UpdateView):
    template_name = 'images/updatefeaturete.html'
    model = FeatureteImage
    fields = ['header', 'body', 'image']

    def get_object(self):
        return get_object_or_404(FeatureteImage, pk=self.kwargs['f_pk'])

    def form_valid(self, form):
        return super(UpdateFeaturete, self).form_valid(form)
models.py:

class FeatureteImage(models.Model):
    park = models.ForeignKey(Park)
    header = models.CharField(max_length=50, blank=True)
    body = models.TextField(max_length=250, blank=True)
    image = models.ImageField(upload_to='featureteimages')

def save(self, *args, **kwargs):
    park = Park.objects.get(id=self.venue.id)
    if park.featurete >= 3:
        pass
    else:
        park.featurete += 1
        park.save()
        super(FeatureteImage, self).save(*args, **kwargs) 


def get_absolute_url(self):
    return reverse('park-features', kwargs={'pk': self.park.pk,})
我的模板:

<form method="post" action="" enctype="multipart/form-data">
        {% csrf_token %}
        <div class="form-group">
            {{ form|crispy }}
        </div>
        <input type="submit" value="Save Changes." class="btn btn-primary" />
</form>

{%csrf_令牌%}
{{form | crispy}}
一切似乎都运转正常。除ImageField外,所有字段似乎都在更新。
提前谢谢你

啊,好的,那么您需要的不是保存方法,您需要覆盖清除方法:

def clean(self):
    park = Park.objects.get(id=self.venue.id)
    if park.featurete >= 3:
        raise ValidationError('error message goes here')

啊,好的,那么您需要的不是保存方法,您需要覆盖清除方法:

def clean(self):
    park = Park.objects.get(id=self.venue.id)
    if park.featurete >= 3:
        raise ValidationError('error message goes here')

代码中的函数
get\u absolute\u url()
存在重复错误。我刚刚测试了你的代码,它工作得很好,即使图片被上传。请在其他部分找到原因


您可以编辑您的帖子并为
settings.py添加代码吗
代码中的函数
get\u absolute\u url()
存在重复错误。我刚刚测试了你的代码,它工作得很好,即使图片被上传。请在其他部分找到原因


你能编辑你的帖子并为
settings.py添加代码吗

我还没有包括我在我的模型中创建的默认保存功能。这就是问题所在。因为我有3个特技,它只是通过。关于如何解决这个问题有什么建议吗?我没有在模型中包含我创建的默认保存功能。这就是问题所在。因为我有3个特技,它只是通过。关于如何解决这个问题有什么建议吗?没有。问题在我的模型中。我已经覆盖了默认的save函数,因此任何人都不允许拥有超过3个功能。所以,如果我有3个,我想更新一个,它仍然会给我一个错误。(请参阅我更新的代码)尝试将
super(FeatureteImage,self)。save(*args,**kwargs)
放在else块之外,这样它会始终保存不起作用的数据,因为即使有3个featuretesAh,它仍然会保存它。好的,所以您需要的不是覆盖clean方法的save方法
def clean(self):park=park.objects.get(id=self.venue.id),如果park.featurete>=3:raisevalidationerror('此处显示错误消息')
no。问题在我的模型中。我已经覆盖了默认的save函数,因此任何人都不允许拥有超过3个功能。所以,如果我有3个,我想更新一个,它仍然会给我一个错误。(请参阅我更新的代码)尝试将
super(FeatureteImage,self)。save(*args,**kwargs)
放在else块之外,这样它会始终保存不起作用的数据,因为即使有3个featuretesAh,它仍然会保存它。好的,所以您需要的不是覆盖clean方法的save方法
def clean(self):park=park.objects.get(id=self.venue.id),如果park.featurete>=3:raisevalidationerror('此处显示错误消息')