python django url问题

#-*-coding:utf-8-*-fromdjango.conf.urls.defaultsimportpatternsurlpatterns=patterns('a... #-*- coding:utf-8 -*-

from django.conf.urls.defaults import patterns

urlpatterns = patterns('abc',
(r'save_new/$', 'views.save_new'),
(r'update/(?P<id>\d+)/$','views.update'),
(r'save_update/(?P<id>\d+)/$','views.save_update'), ---此行有问题

)
十分不解 为何我的save_update的url不能对上我的views.save_update的函数
如果
(r'save_update/(?P<id>\d+)/$','views.save_update'), 中的save_update换掉随便如:
(r'save/(?P<id>\d+)/$','views.save_update'),
就没有什么问题了
个人猜测是因为上一个URL中有update,然后此url即使加了save_还是会找update这是为什么呢???十分不解
展开
 我来答
灰人王
2012-07-05 · TA获得超过2456个赞
知道大有可为答主
回答量:2401
采纳率:0%
帮助的人:924万
展开全部
你这是对正则表达式不了解。第二句像现在这样写,只要URL中有update/id1这样的形式,就会送给views.update,所以第三句就没用了。正确的写法应该是在r'后面加上^,像这样
(r'^update/(?P<id>\d+)/$','views.update'), 就只匹配以update开头的URL,这是正则表达式的基本规则。
lejoylejoy
2012-07-05 · TA获得超过1003个赞
知道小有建树答主
回答量:513
采纳率:75%
帮助的人:447万
展开全部
我遇到过类似的问题:

urlpatterns = patterns('abc',
(r'^save /$', 'views.save'),
(r'^save_new/$','views.save_new'),

这样的话,程序运行的时候就无法调用“save_new”函数,它优先匹配到前面的“save”就不再匹配了。目前的解决办法是把二者换行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式