kel*_*vin 29 django django-admin
我创建了一个自定义视图.
如何将视图插入管理员?
对于普通的管理类,我们只需将其注册到管理站点:
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)
我得到'函数'对象不是可迭代的错误.
谢谢.
模式获取视图,而不是调用视图的结果,即:
list_urls = patterns('', r'^list/$', self.list_view())
Run Code Online (Sandbox Code Playgroud)
应该
list_urls = patterns('', r'^list/$', self.list_view)
Run Code Online (Sandbox Code Playgroud)
此外,"list_view"(在此阶段)是一个与任何其他视图一样的视图.所以它需要返回一个HttpResponse对象.
def list_view(self, request):
return question_list(request)
Run Code Online (Sandbox Code Playgroud)
你没有显示question_list()的代码,但我怀疑它没有返回一个HttpResponse.
PS:如果你提供了"'函数'对象不可迭代"的追溯异常(你在访问"list /"时得到这个吗?)那么猜测就会少一些.
| 归档时间: |
|
| 查看次数: |
56786 次 |
| 最近记录: |