DJANGO는 미리보기 URL로 돌아가고 돌아갑니다.
-
12-09-2019 - |
문제
나는 다시 묻는다 :), 나는 이것을 만드는 방법을 모른다.
내 영어는 그리 좋지 않지만 이것을 물어 보려고 노력할 것입니다.
양식을 검증하고 미리보기 URL (동일한보기 양식)으로 돌아가서 검증 오류를 표시하는 방법? 이 두 번째 양식 (보기?) 첫 번째 양식을 검증해야합니다. 첫 번째 양식이 유효하다면 두 번째 양식을 표시하고 싶습니다. 그렇지 않으면 오류가있는 첫 번째 양식을 표시합니다.
나는 명확한 지 모르겠다, 미안 해요.
나는 이것에 대해 생각하고있다 :
def secondForm(request):
if request.method =='POST':
form = FirstForm(request.POST)
if form.is_valid():
fields = request.POST.copy()
# showing the second form?? with x differents fields, i have 2.
if fields['xvalue']=='1': # this is from radio buttons
form2 = xSecondForm()
elif fields['xvalue']=='2':
form2 = ySecondForm()
else:
# here go back with erros msgs????
#return render_to_response('firstFormTemplate.html',{'form': form}, context_instance=RequestContext(request))
else:
#return something or go back ???
감사합니다
해결책
그렇습니다. FormWizard가 귀하의 답변 일지 모르지만 아마도 몇 가지 논리로 할 수 있습니다.
같은 것 :
def your_view(request):
context = {}
data = request.method == 'POST' and request.POST or None
form = FirstForm(data=data)
# If the first form is valid, build the second.
if form.is_valid():
if form.cleaned_data['xvalue'] == 1:
form2 = xSecondForm(data=data)
else:
form2 = ySecondForm(data=data)
context['form2'] = form2
# If both forms are valid, everything is done.
if form.is_valid() and form2.is_valid():
# TODO: put save/processing logic here
# Now redirect.
return http.HttpResponseRedirect(...)
# If we get here, either there hasn't been a post yet, the second form hasn't
# been entered, or there was an error in either form.
context['form'] = form
return render_to_response(...)
다른 팁
좋아, 얘들 아, 나는 mi 솔루션이 formwizard라고 생각한다 :)
그러나 라디오에서 선택한 옵션이 다소 필드 (두 번째 형식)이라면 두 번째 형태를 다른 방식으로 보여 주어야하기 때문에 두 번째 형태에 대해 명확하지 않습니다.
;(
Process_Step ()를 사용하여 두 번째 양식에 표시되는 방법에 대한 논리를 수행하고 싶다고 생각합니다.
제휴하지 않습니다 StackOverflow