gpt4 book ai didi

django - 没有参数的 url 采用默认值

转载 作者:行者123 更新时间:2023-12-04 16:53:05 24 4
gpt4 key购买 nike

假设,这是一个 url它接受一个参数(此处为 book_id )并将值传递给 views :

url(r'^/(?P<book_id>\w+)/$', 'pro.views.book', name='book'),

是否可以使用带有参数的 url,但是,如果没有给出参数,则采用默认值。如果可能的话可能在 views也。如果这是一个蹩脚的问题,我很抱歉,但我真的需要知道。任何帮助或建议将不胜感激。谢谢

最佳答案

使捕获模式可选,并记住适本地处理尾部斜杠。我会在捕获组周围找到一个非捕获组,这是最安全的方法:

url(r'^(?:(?P<book_id>\w+)/)?$', 'pro.views.book', name='book'),

然后在 View 中,为参数声明一个默认值:
def book(request, book_id='default'):

如果您发现 URL 模式丑陋,您可以将两个正则表达式绑定(bind)到同一个 View 函数:
url(r'^(?P<book_id>\w+)/$', 'pro.views.book', name='book'),
url(r'^$', 'pro.views.book', name='default_book'),

在 Alasdair 的提醒下,我删除了开头的斜线。我觉得那看起来很奇怪。

关于django - 没有参数的 url 采用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20318921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com