2012-04-05 12 views
0

Die Frage ist, wie man Kwargs von URL an die Elternklasse Ansicht übergeben?Generische View Vererbung in Django

urls.py

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

views.py

Blick auf den ersten Klasse __ init __ Methode.

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 

Antwort

0

Sie können auf alle Kwargs zugreifen, die Sie mit dem URL-Parameter an Ihre Klassenansichten übergeben, indem Sie das self.kwargs-Wörterbuch verwenden. Das Wörterbuch steht den Methoden get_queryset() und get_context_data() zur Verfügung.