我希望在完成"简单注册后,将用户重定向到注册页面。登录页面上的表单,因此我需要传递他们在" easy register"中输入的登录页面名称,手机和用户的电子邮件。形成。但我一直收到这个错误:
Reverse for 'signup_page' with arguments '()' and keyword arguments '{'landing_name': u'promotion-title-1', 'cell_phone': u'1111111', 'user_email': u'aaq@aaa.com'}' not found. 0 pattern(s) tried: []
我已经搜索了一些解决方案,但我仍然无法解决这个问题。
这是urls.py:
(r'^signup/(?P<landing_name>[-\w]+)/(?P<cell_phone>[-\w]+)/(?P<user_email>[\w.%+-]+@[A-Za-
z0-9.-]+\.[A-Za-z]{2,4})/$', signup_page, {'template_name':'promotion/signup_page.html'},
'signup_page'),
views.py:
url = reverse('signup_page', kwargs={'landing_name': landing_name, 'cell_phone': cell_phone, 'user_email': email, })
return HttpResponseRedirect(url)
signup_page views.py:
def signup_page(request, landing_name, cell_phone, user_email):
landing = get_object_or_404(LandingPage, url=landing_name)
data = {
'email':user_email,
}
if request.method == 'POST':
form = User_SignUp_Form(request.POST)
if form.is_valid():
username = form.cleaned_data['email']
if form.cleaned_data['password_1'] != form.cleaned_data['password_2']:
password_error = 'passwords do not match each other'
else:
password = form.cleaned_data['password1']
try:
#check for duplicate username
User.objects.get(username=username)
username_error = 'username already exist'
except:
#initial creation of user object
try:
password = form.cleaned_data['password_1']
User.objects.create_user(username,
username,
password,
)
user = User.objects.get(username=username)
UserProfile.objects.create_user(user=user, cell_phone=cell_phone,)
next = request.GET.get('next')
if next is None:
next = '/'
return redirect('/account/thankyou/?next=%s'%next)
except:
pass
else:
form = User_SignUp_Form(initial=data)
return render_to_response("promotion/signup_page.html", locals(), context_instance=RequestContext(request))