2013-07-09 42 views
1

我想添加一個額外的字典到userena的配置文件詳細視圖,但我無法弄清楚如何將extra_context添加到我的urls.py視圖中。該錯誤是VariableDoesNotExist將Extra_Context添加到應用視圖(urls.py)

thing_list = { 
    'queryset' : Thing.objects.all(), 
    'template_object_name' : 'thing', 
} 

from userena import views as userena_views 

url(r'^(?P<username>(?!signout|signup|signin)[\.\w-]+)/$', 
    userena_views.profile_detail, 
    {'extra_context':{'thing_list': thing_list}}, 
    name='userena_profile_detail'), 

我就回答這個基礎這個太問題:

Adding extra_context in Django logout built-in view

感謝您的想法!

回答

2

應該

thing_list = { 
    'queryset' : Thing.objects.all(), 
    'template_object_name' : 'thing', 
    'extra_context': {'swamp_things': Thing.objects.filter(type='swamp')}, 
} 

url(r'^(?P<username>(?!signout|signup|signin)[\.\w-]+)/$', 
    userena_views.profile_detail, 
    thing_list, 
    name='userena_profile_detail'), 

至於你的最新評論(如何獲得請求進入查詢集過濾)。

views.py

from django.views.generic import list_detail 

def requestuserswampers(request): 
    qs = Thing.objects.filter(user=request.user) 
    return list_detail.object_list(
       request, 
       queryset = Thing.objects.all(), 
       template_object_name = 'thing', 
       extra_context = {'swamp_things': qs}, 
    ) 

而在你urls.py

from views import requestuserswampers 

url(r'^(?P<username>(?!signout|signup|signin)[\.\w-]+)/$', 
     requestuserswampers, 
     name='userena_profile_detail'), 

閱讀該文檔爲Generic Views是非常好的,它會教你很多的通用視圖是如何工作的和你可以用它們做什麼!

+0

哦,好的。我怎樣才能包括queryset作爲extra_context雖然?? –

+0

已更新的答案! –

+0

好的,謝謝!你回答了我的問題,但現在想知道如何將請求ContextProcessor放到這裏,以便我可以說''extra_context':{'swamp_things':Thing.objects.filter(user = request.user)},'我將不勝感激任何想法幫助我克服這最後一道障礙,但感謝您的幫助! –