1

我有一个Django表单,它显示CloudinaryImageClearableFileInput(来自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 函数吗?

4

1 回答 1

0

url实际上,功能和url属性之间存在冲突。我们已将函数更改为build_url而不是url.

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

该修复程序在最新版本的 Python 库中可用:http: //pypi.python.org/pypi/cloudinary

于 2012-10-28T14:03:35.120 回答