此视图是否会在名为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'),