Python 使用django上传文件

Python 使用django上传文件,python,django,file-upload,Python,Django,File Upload,我是django的新手,我正在尝试创建一个允许用户上传文件的表单。我使用的代码与djangoproject教程中的代码基本相同,但不起作用。我的代码如下: 有关意见: 型号: 从django.db导入模型 from django import forms class UploadFileForm(forms.Form): title = forms.CharField(max_length=50) file = forms.FileField() 模板:upload_fi

我是django的新手,我正在尝试创建一个允许用户上传文件的表单。我使用的代码与djangoproject教程中的代码基本相同,但不起作用。我的代码如下:

有关意见:

型号:

从django.db导入模型

from django import forms

class UploadFileForm(forms.Form):
    title = forms.CharField(max_length=50)
    file  = forms.FileField()
模板:upload_file.html


{{form.file.label_tag}{{{form.file}}
我正在django开发服务器上测试我的代码。错误是:未定义全局名称“UploadFileForm”,尽管我怀疑还有其他问题。 我已将URL.py配置为:
(r'^upload/$,'mysite.upload.views.upload\u file')

有人能看一下我的代码并给我指出正确的方向吗


谢谢

请确保表单遵循这些规则

此错误是一个简单的python错误<代码>未定义上载文件格式

根据你粘贴的内容,你只从django进口了东西

您必须将您的
UploadFileForm
从它所在的任何位置导入到视图函数代码中,因此添加
“from myproject.myapp.models import UploadFileForm”

要重现错误,请执行以下操作:

def global_name_error():
    UploadFileForm
global_name_error()
[out] NameError: global name 'UploadFileForm' is not defined

同意于吉的回答。我还建议在视图中定义UploadFileForm类,而不是模型。它属于表示逻辑,而不是数据/模型。

这有帮助吗?我希望是:)非常感谢..我确实忘记导入UploadFileForm..现在它的工作原理是它显示一个表单来上传文件,但是当我尝试按下save按钮时,我得到了一个禁止(403)。CSRF验证失败。请求被中止。我已将csrf令牌放入模板中,我不知道问题出在哪里。你能帮我解决这个问题吗?通常,请问一个单独的问题,但无论如何:我在你的表单代码中没有看到
{%csrf\u token%}
标记。我只是问了一个非常类似的问题,或者至少我认为解决方案是相同的。在这里查看@catavarn的答案:
def global_name_error():
    UploadFileForm
global_name_error()
[out] NameError: global name 'UploadFileForm' is not defined