重写Django管理视图方法
我需要在管理面板中覆盖一个添加表单。
我想通过写一个视图来实现这个目标,然后这个视图会指向最终结果的管理视图。
这有点像这样(其中 admin_basic_ass_user_view 是管理视图)
@required_login
def add_user(request):
if condition:
return admin_basic_add_user_view(request)
return render_to_response("admin/auth/user/add_form.html", { ... })
有什么想法吗?
2 个回答
1
在你的urls.py文件中添加类似下面的内容
((r'^admin/auth/users/add/$', 'Project.SomeAPP.admin_views.add_user'),
这个路径需要指向你新创建的视图。你应该能在管理界面的添加用户页面看到你新视图的效果。
补充一下:我忘了说,确保你把这行代码放在正常的管理界面代码之前,放在urls.py文件里。
3
为什么不直接用你的 ModelAdmin 子类来重写相关的方法呢?毕竟它就是一个类嘛。