2011-01-17 8 views
0

간단하게 def send_username에서 def username_is_send으로 emailadress를 전달하고 싶습니다. 어떻게해야합니까? 어떻게 변수를 다음 def에 전달할 수 있습니까?변수를 다음 함수에 적용

@csrf_protect 
def send_username(request, template_name='auth/user/registration/send_username_form.html', 
    email_template_name='auth/user/registration/send_username_email.html', 
      send_username_form=SendUsernameForm, post_reset_redirect=None): 
    if post_reset_redirect is None: 
     post_reset_redirect = reverse('auth.user.registration.views.username_is_send') 
if request.method == "POST": 
    form = send_username_form(request.POST) 
     if form.is_valid(): 
      opts = {} 
      opts['use_https'] = request.is_secure() 
      opts['email_template_name'] = email_template_name 
      opts['request'] = request 
      form.send_mail_now(**opts) 
      return HttpResponseRedirect(post_reset_redirect) 
else: 
    form = send_username_form() 
return render_to_response(template_name, { 
    'form': form,},  
context_instance=RequestContext(request)) 


def username_is_send(request, template_name='tmp/username.html'): 
    return render_to_response(template_name, context_instance=RequestContext(request)) 

고마워요!

Craphunter

+0

도구 모음에 "코드로 포맷"버튼이 있습니다. 코드를 선택하고 누릅니다. – OscarRyz

+4

이 사이트에 어떤 도움도받지 못하셨습니까? 당신은 단 하나의 대답을 받아들이지 않았습니다. 그래서 우리는 당신이받은 응답에 결코 만족하지 못했다고 가정해야합니다. – KevinDTimm

답변

2

당신은 리디렉션을 통해 매개 변수를 전달하기 위해 어떻게 든 상태를 저장해야합니다. 여러 가능성 :

  1. 메일 주소를 세션에 저장 한 다음 username_is_send보기에서 세션 변수를 다시 읽습니다.
  2. GET 매개 변수를 사용하여 메일 주소를 전달하십시오.

"경로"가 아니라 "통과"입니다. 그리고 "def"는 (뷰) 함수라고 부릅니다.

관련 문제