基于Django类的通用视图URL变量传递 [英] Django Class Based Generic Views URL Variable Passing

查看:353
本文介绍了基于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆