Python 使用django上传文件
我是django的新手,我正在尝试创建一个允许用户上传文件的表单。我使用的代码与djangoproject教程中的代码基本相同,但不起作用。我的代码如下: 有关意见: 型号: 从django.db导入模型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
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