2011-02-04 70 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版本,并用它代替。

相关问题