0

La question est de savoir comment passer kwargs de l'URL à la vue de la classe parente?L'héritage de la vue générique dans Django

urls.py

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

views.py

Regardez la première classe __ méthode 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 

Répondre

0

Vous pouvez accéder aux kwargs que vous transmettez par le paramètre URL à vos vues de classe à l'aide du dictionnaire self.kwargs. Le dictionnaire sera disponible pour les méthodes get_queryset() et get_context_data().

Questions connexes