0

Вопрос в том, как передать kwargs из URL в представление родительского класса?Наследование общего вида в Django

urls.py

urlpatterns = patterns('', 
    url(r'^(?P<x>\d+)/(?P<y>\d+)/scout/$', 
     login_required(ScoutView.as_view()), name="scout"), 
) 

views.py

Посмотрите на первый класс __ INIT __ метода.

class MapFieldActionView(TemplateView): 
    def __init__(self, *args, **kwargs): 
     """I NEED TO GET X AND Y HERE.""" 
     super(MapFieldActionView, self).__init__() 
     x, y = kwargs['x'], kwargs['y'] 

class ScoutView(MapFieldActionView): 
    def __init__(self, *args, **kwargs): 
     super(ScoutView, self).__init__(*args, **kwargs) 

    template_name = "world/actions/scout.html" 

    def get_context_data(self, **kwargs): 
     pass 

ответ

0

Вы можете получить доступ к любым kwargs, которые вы передаете по параметру URL, в свои представления классов, используя словарь self.kwargs. Словарь будет доступен для методов get_queryset() и get_context_data().

Смежные вопросы