基于Django类的通用视图URL变量传递 [英] Django Class Based Generic Views URL Variable Passing
本文介绍了基于Django类的通用视图URL变量传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个URL配置:
url (r'^ models /(?P< model_group_id> [0-9] +)/(?P< page> \d +)/ $','Group'),
我想访问 model_group_id
变量
class Group(ListView)
查看。 / p>
在简单的视图中,我只需将组
描述更改为:
class Group(ListView,model_group_id):
它会奏效现在它说没有定义 model_group_id
。那么如何将变量从url regex传递给基于类的视图?
解决方案
你可以访问 self.args
和 self.kwargs
中的基于名称的参数。
class Group(ListView):
def get_queryset(self):
model_group_id = self.kwargs ['model_group_id']
...
请参阅文档了解更多信息。
Question is quite simple.
Let's say I have an URL config with line:
url(r'^models/(?P<model_group_id>[0-9]+)/(?P<page>\d+)/$', 'Group'),
And I want to access model_group_id
variable inside
class Group(ListView)
View.
On simple views I would just change Group
description to:
class Group(ListView, model_group_id):
And it would work. Now it says that model_group_id
is not defined. So how to pass variables from url regex to class-based view?
解决方案
You can access positional arguments in self.args
and name-based arguments in self.kwargs
.
class Group(ListView):
def get_queryset(self):
model_group_id=self.kwargs['model_group_id']
...
See the docs for more info.
这篇关于基于Django类的通用视图URL变量传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文