Python 名称错误位于/accounts/upload_save/global name';联系方式';没有定义
我在/accounts/upload\u save处收到一个错误,name错误/ 未定义全局名称“ContactForm”。 我正在制作照片上传系统。 现在views.py就像Python 名称错误位于/accounts/upload_save/global name';联系方式';没有定义,python,django,Python,Django,我在/accounts/upload\u save处收到一个错误,name错误/ 未定义全局名称“ContactForm”。 我正在制作照片上传系统。 现在views.py就像 def upload(request, p_id): form = UserImageForm(request.POST or None) d = { 'p_id': p_id, 'form':form, } return render(request, '
def upload(request, p_id):
form = UserImageForm(request.POST or None)
d = {
'p_id': p_id,
'form':form,
}
return render(request, 'registration/accounts/photo.html', d)
@csrf_exempt
def upload_save(request):
photo_id = request.POST.get("p_id", "")
if (photo_id):
photo_obj = Post.objects.get(id=photo_id)
else:
photo_obj = Post()
files = request.FILES.getlist("files[]")
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
return HttpResponseRedirect('registration/accounts/photo.html')
else:
photo_obj.image = files[0]
photo_obj.image2 = files[1]
photo_obj.image3 = files[2]
photo_obj.save()
photos = Post.objects.all()
context = {
'photos': photos,
}
return render(request, 'registration/accounts/photo.html', context)
追溯说
Traceback:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
58. return view_func(*args, **kwargs)
File "/Users/xxx/Downloads/KenshinServer/accounts/views.py" in upload_save
120. form = ContactForm(request.POST)
Exception Type: NameError at /accounts/upload_save/
Exception Value: global name 'ContactForm' is not defined]
以前,我在files=request.files.getlist(“files[])中遇到索引超出范围的错误,我可以理解为什么会发生此错误,是由空文件引起的。因此,我尝试使用ContactForm并通过查看django文档中的示例代码来编写代码。但是,我遇到了这个错误,我无法理解为什么会发生这个错误。我想在文件为空时加载photo.html和upload方法。我如何解决这个问题?如果我是对的,您正在尝试使用一些教程作为系统的模板。像这样
您应该在forms.py中输入并导入它以使用其form\u valid()方法。事实上,该代码中没有定义它。你到底是在哪里定义的?@DanielRoseman我没有定义它。我应该如何定义它?在views.py中可以吗?你能写下你的意图吗?我真的不明白你在这里想做什么。你如何使用你没有定义的东西?