Django与Cloudinary的CloudinaryImage类形成字段问题

时间:2012-09-11 03:20:29

标签: django django-forms django-widget cloudinary

我有一个Django表单,显示ClearableFileInput CloudinaryImage(来自Cloudinary)。事情很有效,除非我显示表单字段,我在锚元素中得到一个错位的href:

Currently: <a href="&lt;bound method CloudinaryImage.url of &lt;cloudinary.CloudinaryImage object at 0x10b3f4ad0&gt;&gt;">&lt;cloudinary.CloudinaryImage object at 0x10b3f4ad0&gt;</a> <input type="checkbox" name="logo-clear" id="logo-clear_id" /> <label for="logo-clear_id">Clear</label><br />Change: <input id="id_logo" type="file" name="logo" class="span4" />

以下是我使用的模板代码:

<div class="fieldWrapper">
    <label for="id_logo"><h3>{{ form.logo.label }}:</h3></label>
    {{ form.logo|add_class:"span4" }}
    <p>{{ form.logo.help_text }}</p>
</div>

add_class部分来自django-widget-tweaks。我把add_class部分拿出来没有改变输出。

这是我的表单定义:

class OrganizationFormTheme(forms.ModelForm):
    pass

    class Meta:
        fields = ('logo',)
        model = Organization

看起来Django遇到了CloudinaryImage的url函数问题。我怀疑它正在寻找一个简单的属性而不是一个函数。

有关如何处理此问题的任何建议?我应该将CloudinaryImage子类化并以某种方式重写url函数吗?

1 个答案:

答案 0 :(得分:0)

确实url函数和url属性之间存在冲突。 我们已将函数更改为build_url而不是url

此外,在调用CloudinaryImage的构造函数时,可以将转换参数指定为url_options参数。然后,您可以使用url属性获取完整的Cloudinary URL。

此修补程序可在最新版本的Python库中找到:http://pypi.python.org/pypi/cloudinary