RegistrationForm 클래스 내에서 clean_field 함수를 사용하여 사용자가 업로드 한 파일에 대해 유형 검사를 시도했습니다. 유효성 검사 부분이 잘 작동하고 리디렉션은 .kml 파일이 업로드 될 때만 작동합니다. 그러나이 문제는 비 KML 파일을 업로드하려고 할 때 발생합니다. ValidationError가 발생하지 않는 것 같습니다. 대신 다음 오류가 브라우저에 표시됩니다.Django raise Validationerror가 Valuetype 오류로 연결됩니다.
ValueError at /startanalysis/
The view aerial_analysis.views.second_page didn't return an HttpResponse object.It returned None instead.
은 여기 내 양식
class RegistrationForm(forms.Form):
resolution = forms.IntegerField(label='Enter required resolution : ')
kml = forms.FileField(label='Enter File : ')
CHOICES = (('1' , '1'), ('2', '2'))
field = forms.ChoiceField(label='Type of analysis :',choices=CHOICES)
def clean_kml (self):
if not self.cleaned_data['kml'].name.endswith('.kml'):
raise ValidationError("Please Upload a Valid KML File")
return self.cleaned_data['kml']
파일입니다 저는 여기에 브라우저가 바로 양식 필드에 오류 메시지를 표시하려면이 페이지
def second_page(request):
if request.method == 'POST':
form = RegistrationForm(request.POST,request.FILES)
if form.is_valid():
return HttpResponseRedirect('/main')
else:
form = RegistrationForm()
return render(request, "secondpage.html", {'head_title': 'Head','form1': form,})
내보기 방법이다. 나는 장고에 대해 아주 익숙하다. 그래서 나는 중요한 부분을 놓칠지도 모른다. 어떤 종류의 도움이라도 대단히 감사 할 것입니다. 감사합니다 :)
, 단지 해제 들여 쓰 기존의'return render()'를 사용합니다. 그래서 내부에있는 대신에'else' 뒤에옵니다. – Alasdair
예, 좋은 생각입니다. 그가'POST' 요청으로부터 뷰에 추가 인수를 전달하기를 원하지 않는 한. – masnun
Worked! 하지만 이제는 사용자에게 오류 메시지를 표시하는 방법을 확인해야합니다. 이 점에 어떤 도움이 필요합니까? –