카테고리 없음

[장고] Django 양식 : 게시 후보기 다시로드

행복을전해요 2021. 1. 6. 10:15

당신의 의도를 오해 할 수도 있습니다. 그러나 양식이 유효하면 다음과 같이해야한다고 생각합니다.

if form.is_valid():
    actkey = request.POST['actkey']
        activate( '', actkey )
            return render_to_response( 'profile/register.html', { 'message' : message } )
            

즉. 사용자를 활성화 한 후 양식 개체를 생략하십시오.

-------------------

성공적인 양식 제출 후 리디렉션해야합니다.

 if request.method == 'POST':
   form = ActivateForm( request.POST )
      if form.is_valid():
           actkey = form.cleaned_data['actkey']#access cleaned_data instead of raw post
                activate( '', actkey )
                     return HttpResponseRedirect('/')
                     
-------------------

둘 다 내가 찾고 있던 것이 아니지만 다음과 같이 수정했습니다.

def activate( request = '', actkey = "" ):
message = ""
if len( actkey ) != 40:
    if request.method == 'POST':
            form = ActivateForm( request.POST )
                    if form.is_valid():
                                actkey = request.POST['actkey']
                                
                                            profile = userprofile.objects.get( actkey = actkey )
                                                        user = User.objects.get( id = profile.user_id )
                                                                    user.is_active = True
                                                                                user.save()
                                                                                            profile.actkey = ""
                                                                                                        profile.save()
                                                                                                                    message += "Uw account is succesvol geactiveerd."
                                                                                                                                return render_to_response( 'profile/register.html', { 'message' : message } )
                                                                                                                                    else:
                                                                                                                                            form = ActivateForm()
                                                                                                                                            else:
                                                                                                                                                profile = userprofile.objects.get( actkey = actkey )
                                                                                                                                                    user = User.objects.get( id = profile.user_id )
                                                                                                                                                        user.is_active = True
                                                                                                                                                            user.save()
                                                                                                                                                                profile.actkey = ""
                                                                                                                                                                    profile.save()
                                                                                                                                                                        message += "Uw account is succesvol geactiveerd."
                                                                                                                                                                            return render_to_response( 'profile/register.html', { 'message' : message } )
                                                                                                                                                                            return render_to_response( 'profile/register.html', { 'message' : message, 'form' : form } )
                                                                                                                                                                            

답장 주셔서 감사합니다 :)



출처
https://stackoverflow.com/questions/2005822