微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式 – Reg Ex Django Url Conf

这些是我的 django URLconf

urlpatterns = patterns('',('^hello/$',hello),(r'^polls/$','mysite.polls.views.index'),(r'^polls/(?P<poll_id>\d+)/$','mysite.polls.views.detail'),(r'^polls/(?P<poll_id>\d+)/results/$','mysite.polls.views.results'),(r'^polls/(?P<poll_id>\d+)/Vote/$','mysite.polls.views.Vote'),(r'^admin/',include(admin.site.urls)),)

我不明白这个正则表达式中的r是做什么的:

r'^polls/$

我不明白这个正则表达式的作用:

(?P<poll_id>\d+)

我不明白为什么在:

(r'^admin/',include(admin.site.urls))

没有$符号,它仍然有效……

我不明白我要添加什么URLconf,以查看http://127.0.0.1:8000/下的网站

解决方法

‘r’表示’原始’字符串,这使得在尝试编写正则表达式时生活更轻松(您最终不会转义转义符). http://docs.python.org/library/re.html#raw-string-notation

就第二个问题而言,它创建一个包含1位或更多位的命名匹配组,并将该值作为“poll_id”传递给视图. http://docs.djangoproject.com/en/1.2/topics/http/urls/#named-groups

管理字符串上没有$的原因是您希望所有以/ admin开头的URL都传递给管理员应用程序. $是一个特殊字符,用于定义字符串的结尾.所以如果有$,那么只有url / admin会被传递给admin应用程序,而不是/ admin / foo或/ admin / foo / bar.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐