Django之admin管理工具使用
Admin组件使用
Djago提供了基于web的管理工具。这个管理工具是Django.contrib的一部分。我们可以在Django项目中的settings.py中的INSTALLED_APPS看到:
# Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',]
django.contrib是一套庞大的功能集,是Django基本代码的组成部分。
激活admin管理工具
因为在Django项目中的urls.py文件中已经将
from django.conf.urls import url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), ]
设置好了。因此,我们只需要通过在python console中输入createsuperuser再回车,根据提示设置超级用户的用户名和密码即可注册一个超级用户。登录http://127.0.0.1:8000/admin/即可跳转到admin登录界面。
Admin定制
在每个应用里都有个admin.py文件,只需要在文件里注册类即可在admin中实现增删改查的功能:
方式一:
class UserAdmin(admin.ModelAdmin):#自定义配置类 list_display = ('user', 'pwd',)#自定义显示的字段 list_display_links = ('pwd',)#自定制可以点击跳转的字段 search_fields = ('user', 'pwd') #自定制可用于搜索的字段 # 定制Action行为具体方法 def func(self, request, queryset): print(self, request, queryset) print(request.POST.getlist('_selected_action')) func.short_description = "自定义actions名" actions = [func, ] # Action选项都是在页面上方显示 actions_on_top = True # Action选项都是在页面下方显示 actions_on_bottom = False # 是否显示选择个数 actions_selection_counter = True admin.site.register(models.UserInfo, UserAdmin) # 第一个参数可以是列表
方式二:
@admin.register(models.UserInfo) # 第一个参数可以是列表 class UserAdmin(admin.ModelAdmin): list_display = ('user', 'pwd',)