如何在Django管理站点中添加添加用户按钮旁边的按钮 [英] How to add button next to Add User button in Django Admin Site
问题描述
class SampleClass(admin.ModelAdmin):
actions = [make_published]
行动make_published已经定义。现在我想在添加用户
按钮旁边添加另一个按钮,如图所示。 。但是我不知道如何使用新的模板来实现这一点。我想使用该按钮来打印选定的用户数据。谢谢,请指导我。
- 在你的模板文件夹中创建一个模板:admin / YOUR_APP / YOUR_MODEL / change_list.html
-
将其放入该模板
{%扩展admin / change_list.html%}
{%block object-tools-items%}
{{block.super}}
< li> ;
< a href =export /class =grp-state-focus addlink>导出< / a>
< / li>
{%endblock%}
-
YOUR_APP / admin.py
并使用注释从django保护它。 contrib.admin.views.decorators import staff_member_required
@staff_member_required
def export(self,request):
...做你的东西...
return HttpResponseRedirect(request.META [HTTP_REFERER])
-
将新的URL添加到
YOUR_APP / admin.py
到用于管理模型的url配置from django.conf.urls import patterns,include,url
class YOUR_MODELAdmin(admin.ModelAdmin):
... list def stuff ...
def get_urls(self):
urls = super(MenuOrderAdmin,self).get_urls()
my_urls = patterns(,
url(r^ export / $ ,export)
)
return my_urls + urls
享受;)
I am working on Django Project where I need to extract the list of user to excel from the Django Admin's Users Screen. I added actions
variable to my Sample Class for getting the CheckBox before each user's id.
class SampleClass(admin.ModelAdmin):
actions =[make_published]
Action make_published is already defined. Now I want to append another button next to Add user
button as shown in fig. . But I dont know how can I achieve this this with out using new template. I want to use that button for printing selected user data to excel. Thanks, please guide me.
- Create a template in you template folder: admin/YOUR_APP/YOUR_MODEL/change_list.html
Put this into that template
{% extends "admin/change_list.html" %} {% block object-tools-items %} {{ block.super }} <li> <a href="export/" class="grp-state-focus addlink">Export</a> </li> {% endblock %}
Create a view function in
YOUR_APP/admin.py
and secure it with annotationfrom django.contrib.admin.views.decorators import staff_member_required @staff_member_required def export(self, request): ... do your stuff ... return HttpResponseRedirect(request.META["HTTP_REFERER"])
Add new url into
YOUR_APP/admin.py
to url config for admin modelfrom django.conf.urls import patterns, include, url class YOUR_MODELAdmin(admin.ModelAdmin): ... list def stuff ... def get_urls(self): urls = super(MenuOrderAdmin, self).get_urls() my_urls = patterns("", url(r"^export/$", export) ) return my_urls + urls
Enjoy ;)
这篇关于如何在Django管理站点中添加添加用户按钮旁边的按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!