一个基于类的视图对象,用于多个URL,具体取决于参数

2024-09-27 01:21:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多个url,它们的任务几乎相同(用相应的上下文生成一个列表页)。所以我的urlpatterns是这样的:

url('^by-country/(?<arg1>\w+)', MyO.as_view(), name='by-country'),
url('^by-period/(?<arg1>\w+)', MyO.as_view(), name='by-period'),
url('^by-age/(?<arg1>\w+)', MyO.as_view(), name='by-age')

有没有一种方法可以在一个基于类的视图中传递by-blabla字符串,而不使它成为我的urlpatterns中的第二个regex命名参数?你知道吗

因为我使用View派生类(即MyO),所以除了已经声明的属性(如template_name)之外,我不能向它传递任何东西。那么,有没有干净的方法呢?你知道吗


Tags: 方法nameview视图url列表ageby
1条回答
网友
1楼 · 发布于 2024-09-27 01:21:37

所有url模式都接受第三个位置参数,它是传递给视图的额外参数的dict,这些参数不是从regex本身派生的。所以:

url('^by-country/(?<arg1>\w+)', MyO.as_view(), {'category': 'by-country'}, name='by-country'),

相关问题 更多 >

    热门问题