我只是想简单地将电子邮件地址从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
答案 0 :(得分:2)
您需要以某种方式存储状态,以便通过重定向传递参数。多种可能性:
username_is_send
视图中再次读入会话变量。它是“通过”,而不是“路径”。而“def”被称为(查看)功能。