2011-02-04 108 views
1

Hello Stack Overflow community!FileField()嘗試上傳使用GAE和Django的文件時出錯

我正在嘗試上傳文件到GAE,我正在使用Django。當我運行下面的代碼返回此錯誤:

Tried upload in module pathway.app.views. 
Error was: 'module' object has no attribute 'FileField' 

在谷歌上搜索一個解決方案,我發現this,但這個問題應該 得到修復,現在好嗎?

我不確定在這一點上我做錯了什麼,我是GAE,Python和Django的新手,所以任何幫助將不勝感激!

如果有人對這個問題有更好的解決方法,請告訴我。看起來這麼簡單的任務代碼太多了。

models.py

class UploadModel(db.Model): 
    title = db.StringProperty() 
    file = db.BlobProperty() 

    blobl = db.BlobProperty() 

    modified_on = db.DateTimeProperty(auto_now_add= 1) 
    modified_by = db.UserProperty() 

views.py

def upload(request): 
if request.method == 'POST': 
    form = form.UploadFileForm(request.POST, request.FILES) 
    if form.is_valid(): 
     handle_uploaded_file(models.db.Blob(request.FILES['file'])) 
     return HttpResponseRedirect('/success/url/') 
else: 
    form = form.UploadFileForm() 

files = models.UploadModel.all().order('-modified_on').fetch(20) 
payload = dict(files = files) 
return render("upload.html",payload) 

form.py

from django import newforms as forms import models 

class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=50) 
    file = forms.FileField() 
+0

你爲什麼要使用Django的舊版本? GAE自2009年以來一直支持Django 1.1。 – 2011-02-04 13:28:33

+0

我不相信我正在使用舊版本。我想我可能做的是查看舊的示例代碼。你知道更好的解決方案嗎? – Everton 2011-02-04 13:34:35

回答

0

您正在使用的Django的版本包括與谷歌應用程序引擎,0.96.4 ,這是四歲,來自newforms庫之前包括支持文件字段(和之前我t被重新命名爲forms)。

在您的GAE項目目錄中安裝最新版本的Django版本,並用它代替。

相關問題