【问题标题】:django Url endswith regex in url pathdjango Url 以 url 路径中的正则表达式结尾
【发布时间】:2016-01-10 05:48:10
【问题描述】:

我需要在单个 url 正则表达式中支持以下 url。

/hotel_lists/view/
/photo_lists/view/
/review_lists/view/

如何在单个视图中支持上述所有 url?

我尝试了类似下面的方法

url(r'^\_lists$/(?P<resource>.*)/$', 'admin.views.customlist_handler'),

编辑: 酒店,照片,评论只是例子。第一部分将是动态的。第一部分可以是任何东西。

【问题讨论】:

    标签: python regex django url django-views


    【解决方案1】:

    如果您希望在视图中捕获资源类型,您可以这样做:

    url(r'^(?P<resource>hotel|photo|review)_lists/view/$', 'admin.views.customlist_handler'),
    

    或者让它更通用,

    url(r'^(?P<resource>[a-z]+)_lists/view/$', 'admin.views.customlist_handler'), #Or whatever regex pattern is more appropriate
    

    在视图中

    def customlist_handler(request, resource):
        #You have access to the resource type specified in the URL.
        ...
    

    您可以在named URL pattern groups here阅读更多内容

    【讨论】:

    • 网址的第一部分,酒店,评论,照片只是示例。其他一些资源也将开始。你能建议怎么做吗?
    • 检查编辑。答案中的第二个 URL 模式正好解决了这个问题。请注意,我假设资源只有小写字母。您可以修改正则表达式模式以适应您的用例。 .
    猜你喜欢
    • 2020-01-18
    • 2012-08-14
    • 2016-08-15
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2019-04-09
    相关资源
    最近更新 更多