Общий доступ к URL-адресам класса Django.

Вопрос довольно прост.

Скажем, у меня есть конфиг URL с линией:

url(r'^models/(?P<model_group_id>[0-9]+)/(?P<page>\d+)/$', 'Group'),

И я хочу получить доступ к переменной model_group_id внутри

class Group(ListView)

View.

В простых представлениях я просто изменил бы описание Group на:

class Group(ListView, model_group_id):

И это сработает. Теперь он говорит, что model_group_id не определен. Итак, как передать переменные из регулярного выражения url в класс-представление?

Ответ 1

Вы можете получить доступ к позиционным аргументам в self.args и аргументах, основанных на имени, в self.kwargs.

class Group(ListView): 

    def get_queryset(self):
        model_group_id=self.kwargs['model_group_id']
        ...

Подробнее см. документы.