簡體   English   中英

如何使用google-app-engine-django在App Engine上驗證包含文件的Django表單?

[英]How do I validate a Django form containing a file on App Engine with google-app-engine-django?

我有一個模型和形式如下:

class Image(BaseModel):
  original = db.BlobProperty()

class ImageForm(ModelForm):
  class Meta:
    model = Image

我在以下視圖中執行以下操作:

form = ImageForm(request.POST, request.FILES, instance=image)
if form.is_valid():

我得到:

/ image / add /中的AttributeError

'NoneType'對象沒有屬性'validate'

追溯到:

property_clean中的/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/djangoforms.py

  1. value:要驗證的值。 606。
  2. 舉:
  3. forms.ValidationError如果無法驗證該值。
  4. “””
  5. 如果值不是None:
  6. 嘗試:

  7. prop.validate(prop.make_value_from_form(value))...

  8. 除了(db.BadValueError,ValueError),e:

  9. 提升forms.ValidationError(unicode(e))615。616。
  10. class ModelFormOptions(object):
  11. “”一個簡單的類,用於保存ModelForm類的內部選項。

▼本地變種

道具沒有

value InMemoryUploadedFile:Nearby.jpg(image / jpeg)

有任何想法如何讓它驗證? 看起來FileField沒有驗證方法,Django期望......

它不適用於默認的django版本。 並且報告了 bug。

順便說一下,默認安裝提升其他功能。 因此代碼的其他部分可能存在問題。

構造函數的文檔說:

files:文件上傳值的dict; 僅限Django 0.97或更高版本

你在使用Django 0.97嗎? 捆綁的Django是0.96,除非你明確選擇1.0或1.1。 您是否嘗試在沒有files參數的情況下驗證表單?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM