2012-02-08 100 views
0

我对Python和Django很新。我正尝试重定向到第二个视图函数。这里是我的URL配置:NoReverseMatch与重定向在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错误。我不明白为什么重定向行与我的某个网址不匹配。我希望你能提供任何帮助。

回答

1

这个正则表达式组:

(?P<id>\w{8}) 

只会长的东西相匹配8个字符。如果你真的通过id='test',那会是你的问题。