zoukankan      html  css  js  c++  java
  • admin快速搭建后台管理系统

    一.基于admin后台管理系统的特点:

    1. 权限管理:权限管理是后台管理系统必不可少的部分,拥有权限管理,可以赋予用户增删改查表权限(可以分别赋予用户对不同的表有不同的操作权限);
    2. 前端样式少:后台管理主要用于管理人员管理数据库中数据,因此样式不是特别重要但功能全;
    3. 快速开发:目前很多系统在开发中,后台系统的开发工具量与前台开发工作量相差不多甚至有点比前台开发工作量还大,而Django的后台管理系统是一套全自动的管理系统(即admin)

    二.admin的使用:

    1.自动完成admin的相关配置:

               1.1在用Pycharm创建完Django项目后,会自动注册在setting.py的INSTALLED_APPS(Django所有的app都应该注册在这里)中,如图1,以及会配置相应的url,当然,你可以把url修改成你需要的名字(这里使用默认),如图2                                   图1             

      

    图2 

    2.你可以直接欢快的配置和使用admin了,是不是开心的飞起啊:

                2.1把你的表建好然后生成(在termina中敲入命令(python manage.py makemigrations--该命令会在migrations数据库中表的相应脚本的py文件;python manage.py migrate--执行脚本文件生成或修改表))。

                2.2使用python manage.py runserver启动Django项目(可以指定端口,默认为8000),然后便可以在浏览器中访问配置好了的url了(默认为127.0.0.1:8000/admin),如图3

          

     图3

               2.3显然,得有个用户和密码,不急,又来python manage.py createsuperuser(输入用户名和密码创建一个超级用户),创建成功后在启动项目便可以登录访问了。如图4,为英文,Django是全球性框架,支持多语言,要想是中文的,只需在setting.py中修改语言配置(把LANGUAGE_CODE='en-us'替换成LANGUAGE_CODE=‘zh-hans’,注:Django 1.8之前为'zh-cn';时区设置以可以改为上海,便于时间的统一TIME_ZONE='UTC'替换为TIME_ZONE='Asia/Shanghai',还得把USE_TZ改成False,与本地时间统一,不然时间会取UTC的时间),如图5。会自动生成组,是不是发现没有自己创建的表啊(Django默认会帮你自动注册用户表在后台展示),还是不急,只需简单的配置即可:

                                                                                                    

                                                                                                                                                          图4

    图5

     

               2.4在相关app下有个admin.py,只需在该文件中做相应的配置即可(以两张表为例),如图6,效果如图7(当然我的User表重载了AbstractUser):

    图6

    图7

    3.当然,admin的功能远不止这些,要完成你需要的功能,只需在admin.py中进行相关配置即可:

    这里例举几个常用的,详细可以参考该文章:https://www.cnblogs.com/wumingxiaoyao/p/6928297.html     

                  3.1基本设置(以User表为例,注:字段名一定要和models表中的字段名一致):

    class UserProfileAdmin(admin.ModelAdmin):
        #显示表中哪些字段
        list_display = ['name','birthday','gender']
      
        #list_per_page设置每页显示多少条记录,默认是100条
        list_per_page = 50
        
        #ordering设置默认排序字段,负号表示降序排序
        ordering = ('-add_time',)
      
        #list_editable 设置默认可编辑字段
        list_editable = ['school_id', 'name']
      
        #fk_fields 设置显示外键字段
         fk_fields = ('school_id',)
        #设置哪些字段可以点击进入编辑界面
        list_display_links = ('id', 'name')

                  3.2筛选器,主要用于过滤和搜索数据:

    class BlogAdmin(admin.ModelAdmin):
    #筛选器
        list_filter =('name', 'gender', 'school_id', 'add_time') #过滤器
        search_fields =('name', 'school_id', 'gender') #搜索字段
        date_hierarchy = 'add_time'    # 详细时间分层筛选 

                  3.3调整页面内容和标题:

    class MyAdminSite(admin.AdminSite):
        site_header = '悦动乐后台管理系统'  # 此处设置页面显示标题
        site_title = '悦动乐'  # 此处设置页面头部标题
     
    admin_site = MyAdminSite(name='management')

    4.总结:

              admin虽然已经很好了,但xadmin的功能更加强大,不急, 学习从未止步......

      

                 

                       

                        

          

     

  • 相关阅读:
    Constants and Variables
    随想
    C#基础篇之语言和框架介绍
    Python基础19 实例方法 类方法 静态方法 私有变量 私有方法 属性
    Python基础18 实例变量 类变量 构造方法
    Python基础17 嵌套函数 函数类型和Lambda表达式 三大基础函数 filter() map() reduce()
    Python基础16 函数返回值 作用区域 生成器
    Python基础11 List插入,删除,替换和其他常用方法 insert() remove() pop() reverse() copy() clear() index() count()
    Python基础15 函数的定义 使用关键字参数调用 参数默认值 可变参数
    Python基础14 字典的创建修改访问和遍历 popitem() keys() values() items()
  • 原文地址:https://www.cnblogs.com/lyq-biu/p/9503941.html
Copyright © 2011-2022 走看看