我是django领域的新手,想寻求django大师的帮助。
现在我的网址有两个命名组(product_slug和platform_slug),用" /"分隔;如下:
/search/canon-eos-1d-x-mark-ii/dc-fever
当前网址配置:
url(r'^search/(?P<product_slug>[\w\-]+)$', CustomSearchView(), name='search_result_detail'),
url(r'^search/(?P<product_slug>[\w\-]+)/(?P<platform_slug>[\w\-]+)$', CustomSearchView(), name='search_result_platform'),
我想使用下划线作为分隔符来使URL简洁明了:
/search/canon-eos-1d-x-mark-ii_dc-fever
似乎不容易使用&#34; /&#34;以外的分隔符。分隔命名组。 还有其他解决方案吗?
答案 0 :(得分:0)
它是一个正则表达式,你可以使用你喜欢的任何字符。唯一的事情是你需要在捕获组中限制更多,因为\w
也匹配下划线。
url(r'^search/(?P<product_slug>[0-9a-z-]+)_(?P<platform_slug>[0-9a-z-]+)$'
答案 1 :(得分:0)
谢谢丹尼尔。有效!它是regexp的真正问题。它在引用另一篇文章之后尝试了它: Regex: match everything before FIRST underscore and everything in between AFTER
let dateFormatter = DateFormatter()
// Set the locale first ...
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
// ... and then the date format:
dateFormatter.dateFormat = "HH:mm:ss"
// ...
我测试了正则表达式在http://pythex.org/中运行良好。但遗憾的是,它在django中并没有起作用。不确定问题是什么。