get Django url 正则表达式中的多个参数
Multiple Params in get Django url regex
我需要在 url 中传递两个参数:
例如:http://127.0.0.1:8000/events/103,104/3/
此处
- 参数 1 = 103,104
- 参数 2 = 3
我使用的 url 模式:
url(r'^events/(?P<categories_string>[^\/]*)/(?P<page_no>\d+)/$','main.views.events'),
我也试过了:
url(r'^events/(?P<categories_string>.*)/(?P<page_no>\d+)/$','main.views.events'),
我的View.py:
def events(request, categories_string='', page_no=1):
if categories_string =='':
return render(request, "main/events.html", {'message' : 'string is null'})
return render(request, "main/events.html", { 'message': {'cat' : categories_string, 'pg' : page_no}})
我的输出是:
{'cat': '103,104/3', 'pg': 1}
这是我使用 Django 的第二天,如果我能得到很好的参考以阅读允许多个参数的实践,我将不胜感激。
您的正则表达式很可能匹配 103,104/3
和 .*
。假设你的 cat 输入总是像 digits,digits
那么下面应该有效:
url(r'^events/(?P<categories_string>\d+,\d+)/(?P<page_no>\d+)/$','main.views.events'),
我需要在 url 中传递两个参数: 例如:http://127.0.0.1:8000/events/103,104/3/
此处
- 参数 1 = 103,104
- 参数 2 = 3
我使用的 url 模式:
url(r'^events/(?P<categories_string>[^\/]*)/(?P<page_no>\d+)/$','main.views.events'),
我也试过了:
url(r'^events/(?P<categories_string>.*)/(?P<page_no>\d+)/$','main.views.events'),
我的View.py:
def events(request, categories_string='', page_no=1):
if categories_string =='':
return render(request, "main/events.html", {'message' : 'string is null'})
return render(request, "main/events.html", { 'message': {'cat' : categories_string, 'pg' : page_no}})
我的输出是:
{'cat': '103,104/3', 'pg': 1}
这是我使用 Django 的第二天,如果我能得到很好的参考以阅读允许多个参数的实践,我将不胜感激。
您的正则表达式很可能匹配 103,104/3
和 .*
。假设你的 cat 输入总是像 digits,digits
那么下面应该有效:
url(r'^events/(?P<categories_string>\d+,\d+)/(?P<page_no>\d+)/$','main.views.events'),