URL中的正则表达式不起作用

时间:2015-07-27 11:28:01

标签: python regex django django-templates

我有下面的url模式,当我试图访问它的说法页面未找到

url(r'^getrequest/(add|edit|delete)/(\d+)/', 'CMS_graph.views.test_data', name='CMS_data'),

我有这个模式的HTML页面。

view.py

def test_data(request, data , id):
   title = "Got Request %s" %(request.META['REMOTE_ADDR'])
   print request.META['REMOTE_ADDR'],data,id
   if (request.META['REMOTE_ADDR'] == '172.20.115.137'):
       download_data(data, id)
   context = {
            "titleofpage" : title
            }
   return render(request,'test.html', context)

的test.html

<h1>{{titleofpage}}</h1>

我在哪里做错了? 我试图打开http://127.0.0.1:8080/getrequest

1 个答案:

答案 0 :(得分:2)

要打开http://127.0.0.1:8080/getrequest,您需要将网址格式指定为r'^getrequest/'(注意:APPEND_SLASH设置为true,这是一个不同的故事。)

使用指定的网址格式,以下任何网址都有效(例如):

http://127.0.0.1:8080/getrequest/add/1
http://127.0.0.1:8080/getrequest/edit/5
http://127.0.0.1:8080/getrequest/delete/9

您可以在Django docs中了解有关网址调度的更多信息。