Django将在admin索引中显示此视图

时间:2011-04-26 07:31:19

标签: django django-models django-admin

此视图是否会在名为modules的部分中显示为admin索引中的链接?哪个用户可以像普通的管理类一样点击链接来查看视图?

我在Admin.py中有一个名为ListAdmin的类:

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

该视图位于view.py

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)

问题是我不知道如何将ListAdmin注册到管理员,因为它没有列表模型,并且问题模型已经注册。

admin.site.register(???, ListAdmin)

可能的解决方案是:

Multiple ModelAdmins/views for same model in Django admin

我将此添加到我的admin.py中,它成功地添加了一个指向管理员索引的链接:

class List(Question):
    class Meta:
        proxy = True

class ListAdmin(QuestionAdmin):
    def list_view(self, request):
        return question_list(request)

admin.site.register(List, ListAdmin)

我仍然认为这是错误的,因为如果我从url.py中取出下面的行,它将指向问题模型:

url(r'^admin/modules/list/$', 'exam.admin.modules.views.question_list'), 

0 个答案:

没有答案