我是Python和Django的新手。我正在尝试重定向到第二个视图功能。这是我的网址配置:
urlpatterns = patterns('dept.pv.verif.views',
(r'^apps/dept/pv/verif/$', 'index', {}, 'index'),
(r'^apps/dept/pv/verif/display$', 'display', {}, 'display'),
(r'^apps/dept/pv/verif/display/(?P<action>\w{1})/(?P<id>\w{8})/$', 'display', {}, 'display'),
url(r'^apps/dept/pv/verif/display/(?P<action>\w{1})/(?P<id>\w{8})/$', 'display', name='display'),)
这是我的观点功能:
def index(request):
context = {}
visit_switch = request.GET.get('visit_switch')
if not visit_switch:
id_form = Enter_ID()
else:
id_form = Enter_ID(request.GET)
if id_form.is_valid():
return redirect('display', action='R', id='test')
context['id_form'] = id_form
return render_to_response('index.html', {'context':context})
和第二个:
def display(request, action, id):
# ...
return render_to_response('index.html')
我收到NoReverseMatch错误。我不明白为什么重定向行与我的一个网址不匹配。如果您能提供任何帮助,我将不胜感激。
答案 0 :(得分:1)
此正则表达式组:
(?P<id>\w{8})
只匹配8个字符的长度。如果您实际上正在通过id='test'
,那将是您的问题。