将变量提交给下一个函数

时间:2011-01-17 20:08:04

标签: python django

我只是想简单地将电子邮件地址从def send_username传递到第二个def username_is_send。我该怎么做?如何将变量传递给下一个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

1 个答案:

答案 0 :(得分:2)

您需要以某种方式存储状态,以便通过重定向传递参数。多种可能性:

  1. 将邮件地址存储在会话中,然后在username_is_send视图中再次读入会话变量。
  2. 使用GET参数传递邮件地址。
  3. 它是“通过”,而不是“路径”。而“def”被称为(查看)功能。

相关问题