【发布时间】:2011-08-07 07:15:55
【问题描述】:
我创建了一个自定义视图。
如何将视图插入管理员?
对于一个普通的管理类,我们只需将其注册到管理站点即可:
class ListAdmin(admin.ModelAdmin):
...
admin.site.register(List, ListAdmin)
我试图覆盖 admin.py 中的 get_url,question_list 是视图:
class ListAdmin(admin.ModelAdmin):
def list_view(self, request):
return question_list(request)
def get_urls(self):
urls = super(ListAdmin, self).get_urls()
list_urls = patterns('', r'^list/$', self.list_view())
return list_urls + urls
admin.site.register(question_list, ListAdmin)
这是 question_list 视图:
def question_list(request):
#questions = Question.objects.filter(topic__icontains = 1)
questions = Question.objects.all()
return render_to_response('admin/question_list.html', {'questions':questions})
question_list = staff_member_required(question_list)
我得到 'function' object is not iterable 错误。
谢谢。
【问题讨论】:
-
你能说得更具体些吗?
-
我只想在站点管理员中添加一个自定义视图。我在views.py 中创建了一个视图。如何在 admin.py 中将其添加到 admin 中?
-
视图有什么作用?您可以将 ModelAdmin 子类化以过滤查询集等。但通常您会在前端使用其单独的模板呈现您的自定义视图。
-
例如我创建了一个视图:'code' def question_list(request): #questions = Question.objects.filter(topic__icontains = 1) questions = Question.objects.all() return render_to_response( 'admin/question_list.html', {'questions':questions}) 'code' 如何将此视图添加到 admin.py 中?
标签: django django-admin