2012-04-05 69 views
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

看第一類__ 初始化 __方法。

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

您可以使用self.kwargs字典訪問通過URL參數傳遞給您的類視圖的任何kwargs。字典將可用於get_queryset()和get_context_data()方法。