2012-09-11 18 views
1

我有一個Django窗體顯示ClearableFileInputCloudinaryImage(從Cloudinary)。除非我顯示錶單域的事情偉大的工作,我得到一個錯位的href在錨元素:Django窗體Field問題與Cloudinary的CloudinaryImage類

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函數嗎?

+0

你能告訴你的表單定義? – jcater

+0

是的 - 請參閱我的更新。 – Erik

+0

我決定只在我的模板中手動構建表單小部件。如果我不需要,那會很好。 – Erik

回答

0

確實在url函數和url屬性之間存在衝突。 我們已將該功能更改爲build_url而不是url

另外,調用CloudinaryImage的構造函數時,可以指定變換參數爲url_options參數。然後,您可以使用url屬性獲取完整的Cloudinary URL。

解決方法是在Python庫的最新版本可供選擇:http://pypi.python.org/pypi/cloudinary

+0

我已經改變了我的實現,所以我不能檢查這個解決方案 - 但它聽起來像你做了一個修改了這個問題的改變。感謝您的關注和優質的服務。 – Erik