FileField()尝试使用GAE和Django上传文件时出错

时间:2011-02-04 13:23:20

标签: python django google-app-engine

Hello Stack Overflow社区!!

我正在尝试将文件上传到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()

1 个答案:

答案 0 :(得分:0)

您使用的是Google App Engine附带的Django版本,0.96.4,已有四年历史,来自newforms库,其中包含对文件字段的支持(在将其重命名为简单{之前) {1}})。

在您的GAE项目目录中安装最新的Django版本,然后使用它。