我有一个媒体模型和一个产品模型。当用户创建产品时,他们首先上传图片,然后,他们会被转发到产品详细信息页面,在那里他们可以编辑产品属性。这工作正常,但是如果用户不上传图片,我希望程序跳过创建媒体对象并直接进入产品详细信息页面。
我尝试从 form_valid() 返回一个 reverse() 函数,但这不起作用,所以我想知道是否有人知道这是为什么以及如何解决这个问题?
我目前的代码:
class ProductMediaCreate(generic.CreateView):
model = ProductMedia
fields = ('media',)
template_name = 'media/media_create.html'
def form_valid(self, form):
product_obj = Product.objects.create()
if not form.instance.media:
return reverse('product_detail', kwargs={'pk': product_obj.pk})
form.instance.product = product_obj
return super().form_valid(form)
def get_success_url(self):
return reverse('product_detail', kwargs={'pk': self.product.pk})
然而,这会产生错误:'str' object has no attribute 'get'当我在没有图片的情况下在 CreateView 上提交表单时。
编辑:不确定这是否有帮助,但是在错误的回溯之后,错误的来源在行上的 clickjacking.py 中指出:(if response.get('X-Frame-Options') is not None: 我不确定这意味着什么)
预先感谢您的任何帮助!
德玛西亚99
相关分类