Общий доступ к 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']
...
Подробнее см. документы.