我有多个网址,其任务几乎完全相同(生成一个带有相应上下文的列表页面)。所以我的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
中的第二个正则表达式命名参数?
由于我使用View
派生类(即MyO
),除了已经声明的属性(例如template_name
)之外,我无法传递任何内容。那么,有没有干净的方法呢?
答案 0 :(得分:1)
所有url模式都接受第三个位置参数,该参数是传递给视图的额外参数的字典,这些参数不是从正则表达式本身派生的。所以:
url('^by-country/(?<arg1>\w+)', MyO.as_view(), {'category': 'by-country'}, name='by-country'),