Regex django 1.7如何将参数传递给函数正则表达式

Regex django 1.7如何将参数传递给函数正则表达式,regex,django,views,Regex,Django,Views,我试图将表的ID传递给我的函数,但我不确定发生了什么。 如果我硬编码ID号,如果我将(?Pd+)与d+一起使用,那么它将使用与教程中一样多的数字。不起作用。这应该有所不同吗 谢谢各位 我的网址 from django.conf.urls import patterns, include, url from polls import views urlpatterns = patterns('', #url(r'^main_site/$', views.main_site),

我试图将表的ID传递给我的函数,但我不确定发生了什么。 如果我硬编码ID号,如果我将(?Pd+)与d+一起使用,那么它将使用与教程中一样多的数字。不起作用。这应该有所不同吗

谢谢各位

我的网址

from django.conf.urls import patterns, include, url

from polls import views

urlpatterns = patterns('',

    #url(r'^main_site/$', views.main_site),
    url(r'^vote/$', views.vote),
    url(r'^stadistics/$', views.stadistics),


    # using it like this doesn't work
    url(r'^vote/Restaurant_Info/(?P<rest_id>d+)/$', views.restaurant_menu),

    #testing the info of the restaurant
    # hard coding the id of the restaurant does work
    url(r'^vote/Restaurant_Info/4/$', views.restaurant_menu),
从django.conf.url导入模式,包括,url
从轮询导入视图
urlpatterns=模式(“”,
#url(r“^main\u site/$”,views.main\u site),
url(r'^vote/$,views.vote),
url(r“^statistics/$”,views.statistics),
#像这样使用它是行不通的
url(r“^vote/Restaurant\u Info/(?Pd+)/$”,视图。Restaurant\u菜单),
#测试餐厅的信息
#硬编码餐厅的id确实有效
url(r“^vote/Restaurant\u Info/4/$”,视图。Restaurant\u菜单),
我的看法

    def restaurant_menu(request, rest_id="0"):
        response = HttpResponse()
        try:
            p = Restaurant.objects.get(id=rest_id)
            response.write("<html><body>")
            response.write("<p>name of the restaurant</p>")
            response.write(p.name)
            response.write("</body></html>")

        except Restaurant.DoesNotExist:
            response.write("restaurant not found")
        return response
def餐厅菜单(请求,rest\u id=“0”):
response=HttpResponse()
尝试:
p=Restaurant.objects.get(id=rest\u id)
回答。写(“”)
回答。写上(“餐厅的名称”

) 响应。写入(p.name) 回答。写(“”) 餐厅除外。无纺织商: 回答。写下(“未找到餐厅”) 返回响应
您缺少一个斜杠。它应该是
(?p\d+)
您的表达式缺少一个反斜杠,当前
d+
与字符
d
按字面意思“一次或多次”匹配。反斜杠与文字字符组合可创建具有特殊含义的正则表达式标记

因此,
\d+
将数字
0
匹配到
9
“一次或多次”

url(r'^vote/Restaurant\u Info/(?P\d+)/$,视图。Restaurant\u菜单)
url(r“^vote/Restaurant\u Info/(?P\d+)/$”,视图。Restaurant\u菜单),

谢谢你的解释,我认为我是django,但我应该研究RE,它对字符串的工作方式是否相同?比如url(r'^/vote/Threak/(?P\w+/$),views.Threak),是的。这里有一个很好的参考
url(r'^vote/Restaurant_Info/(?P<rest_id>\d+)/$', views.restaurant_menu)
url(r"^vote/Restaurant_Info/(?P<rest_id>\d+)/$", views.restaurant_menu),