【问题标题】:Image upload in Django, namerrorDjango中的图像上传,名称错误
【发布时间】:2014-08-17 15:07:08
【问题描述】:

Getting NameError(全局名称 FileUploadHandler 未定义)。这是模型:

class FileUploadHandler(models.Model):
    title = models.CharField(max_length=100)
    file = models.ImageField(upload_to="wiki/static/")

还有观点:

def image_upload(request):
    if request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            FileUploadHandler(request.FILES['image'])
            return render_to_response('wiki/gallery.html')
    else:
        form = UploadImageForm()
     return render_to_response('wiki/gallery.html', RequestContext(request, {'form': form}))

我错过了什么?

【问题讨论】:

    标签: python django image file-upload


    【解决方案1】:

    在视图文件的顶部,键入:

    from models import FileUploadHandler
    

    这是假设您有标准的 views.pymodels.py 文件结构,它们都在同一个目录中。

    【讨论】:

    • 每个人都会遇到这种情况。请记住,NameError 通常意味着您正在使用 Python 不知道如何解释的名称。罪魁祸首可能是缺少导入。
    • 谢谢。我没有收到错误消息,但文件未显示在指定的文件夹中。我尝试将 form.save() 添加到视图中,但它表明该对象没有该属性。
    • 这个问题已经得到了有效的回答。如果您在此处解决问题后遇到问题,最好单独发布一个问题。
    • 更好(更正确):from .models import FileUploadHandler - 显式相对导入是最佳实践。
    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2019-11-13
    • 2020-04-30
    • 2017-03-23
    相关资源
    最近更新 更多