我创建了一个自定义视图.
如何将视图插入管理员?
对于普通的管理类,我们只需将其注册到管理站点:
class ListAdmin(admin.ModelAdmin):
...
admin.site.register(List, ListAdmin)
Run Code Online (Sandbox Code Playgroud)
我试图在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)
Run Code Online (Sandbox Code Playgroud)
这是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)
Run Code Online (Sandbox Code Playgroud)
我得到'函数'对象不是可迭代的错误.
谢谢.
我正在尝试更改django管理列表显示中对象的链接.这是我到目前为止:
class FooModelAdmin(admin.ModelAdmin):
fields = ('foo','bar')
list_display = ('foo_link','bar')
def foo_link(self,obj):
return u'<a href="/foos/%s/">%s</a>' % (obj.foo,obj)
domain_link.allow_tags = True
domain_link.short_description = "foo"
Run Code Online (Sandbox Code Playgroud)
这在原始列表显示链接中产生另一个链接,例如
<a href="/admin/app/model/pk/"><a href="/foos/foo/">Foo</a></a>
Run Code Online (Sandbox Code Playgroud)