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',)

 

posted @ 2018-07-21 16:17  桥前石头  阅读(123)  评论(0编辑  收藏  举报