【发布时间】:2012-12-06 14:35:37
【问题描述】:
我的应用程序列出了一些游戏服务器的 IP 地址。
我想添加一个简单的搜索引擎,其中包含一个正则表达式。我会输入^200. 以仅列出以200. 开头的IP 地址
表单会通过发送这样的 GET 请求将我重定向到结果页面:
/servers/search/^200./page/1/range/30/
这是我在urls.py 中使用的行:
url(r'^servers/search/(?P<search>[a-zA-Z0-9.]+)/page/(?P<page>\d+)/range/(?P<count>\d+)/$', gameservers.views.index)
但它并没有按我预期的方式工作。没有显示结果。我故意犯了语法错误来查看局部变量。然后我意识到search 变量的值如下:
^200./page/1/range/30/
我该如何解决这个问题?我考虑过将search 参数移到url 的结尾,但是看看是否有办法限制下一个/ 的值可能会很有趣。
【问题讨论】:
-
能否在搜索中不添加多个搜索过滤器。例如有 /servers/search/begins/200 或 /servers/search/contains/300 或 /servers/search/endswith/100
-
太长了,我个人更喜欢使用正则表达式而不是手动过滤器,不过感谢您的建议!
-
请记住,在某些情况下,您将向需要编码的 URL 添加特殊字符。还要注意斜杠字符,因为如果您不在查询字符串中使用它,它可能会改变 url。
标签: python regex django url filter