gpt4 book ai didi

python - 基于类的 View 中的可选 url 参数

转载 作者:行者123 更新时间:2023-11-28 22:57:47 25 4
gpt4 key购买 nike

如何使用基于类的 View 为 url 参数创建默认值?在例如 TemplateView 上

例如:

url(r'^(?P<num>\d+)|/$', MyView.as_view())

如果 num 没有在 url 中指定,我想设置一个默认值 '4'

最佳答案

如果您指定包含以下名称的正则表达式:

url(r'^(?P<num>\d+)|/$', MyView.as_view())

那么 num 将始终作为关键字参数传递给您的 View 函数。如果正则表达式匹配但没有 num 匹配,则 num 将作为 None 传递给您的 View 。

给定以下 View 函数:

def get(self, request, *args, **kwargs):
print 'args %s' % repr(args)
print 'kwargs %s' % repr(kwargs)

runserver打印的输出如下:

# url: /
args ()
kwargs {'num': None}

# url: /45/
args ()
kwargs {'num': u'45'}

检测 None 值并分配适当的默认值取决于您。

def get(self, request, *args, **kwargs):
num = kwargs.get('num', None)
if num is None:
num = 4

关于python - 基于类的 View 中的可选 url 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429500/

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