1

我想在 userena 的个人资料详细视图中添加一个额外的字典,但我不知道如何extra_context在我的 urls.py 中添加到视图中。错误是VariableDoesNotExist

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'),

我是基于对这个 SO question 的回答:

在 Django 注销内置视图中添加 extra_context

谢谢你的想法!

4

1 回答 1

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'),

至于您的最新评论(如何将请求放入查询集过滤)。

视图.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'),

阅读通用视图的文档非常好,它将教你很多通用视图的实际工作原理以及你可以用它们做什么!

于 2013-07-09T19:38:35.840 回答