美文网首页
Part09 在Xadmin自定义app增删改查案例

Part09 在Xadmin自定义app增删改查案例

作者: 不愿透露姓名的撸大湿 | 来源:发表于2018-06-13 16:42 被阅读0次

一、目的

1、本Part将以一个实际需求作为出发点,对一个参数表进行增删改查的开发。

二、需求

1、参数表:SPARAM_CONFIG
2、表格字段:

字段名 字段类型 字段说明
pkey string(100) 参数索引
pkey_desc string(1000) 参数索引中文描述
pvalue string(1000) 参数值
pvalue_desc string(1000) 参数值中文描述

3、对上表,可以进行增删改查操作,Web展示。

三、新建users APP

1、使用pycharm创建app,Tools 工具栏运行 run manage.py Task,输入:

startapp sparam

四、移动该文件夹到app目录下

1、本part,我们在这个结构下进行代码填充:

Project 目录 (Django-Xadmin学习项目)
|
|-- app         
|   |-- users  
|   `-- sparam  (移动过来)  
...

2、依照上述的目录结构,移动sparam文件夹到app文件夹下。

五、填充代码

1、按照《二、需求》,在project/app/sparam/models.py,填充代码:

# -*- coding: utf-8 -*-
from django.db import models
from datetime import datetime


# Create your models here.
class Config(models.Model):
    pkey = models.CharField(max_length=100, verbose_name=u'参数索引')
    pkery_desc = models.CharField(max_length=1000, verbose_name=u'参数索引中文描述')
    pvalue = models.CharField(max_length=1000, verbose_name=u'参数值')
    # TextField 与 CharField的区别是TextField可以不限制文本长度
    pvalue_desc = models.TextField(verbose_name=u'参数值中文描述')
    add_time = models.DateTimeField(default=datetime.now, verbose_name=u'添加时间')

    class Meta:
        verbose_name = u'参数管理'
        verbose_name_plural = verbose_name

3、在project/xadmin_learn/settings.py中注册app:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 添加以下两个app配置
    'xadmin',
    'crispy_forms',
    'app.users',
    'app.sparam',  # 注册App
]

4、在数据库生成新定义的表,Tools 工具栏运行 run manage.py Task输入:

makemigrations sparam
migrate sparam

5、数据库多了一张class对应的表


六、把这app注册到xadmin后台管理系统

1、在apps\sparam\中创建一个adminx.py文件

# -*- coding: utf-8 -*-
import xadmin

from .models import Config


class ConfigAdmin(object):
    list_display = ['pkey', 'pkey_desc', 'pvalue', 'pvalue_desc']  # 控制显示列数  
    search_fields = ['pkey']  # 控制搜索框的显示
    list_filter = ['pkey', 'pkey_desc', 'pvalue', 'pvalue_desc']  # 控制筛选

xadmin.site.register(Config, ConfigAdmin)

2、其中,几个list的作用分别是:

list_display=['code','email','send_type','send_time']


search_fields=['code','email','send_type']


list_filter = ['code','email','send_type','send_time']


七、查看效果

1、重启项目
2、查看效果



3、(增)增加一条记录试试



4、(删)删除若干条条记录



确认删除

5、(改)更新某一条记录


6、(查)按需搜索


八、调整导航栏显示文字

1、把App名称改为中文,在所有app文件夹内有一个apps.py文件和init.py文件
(1)修改app/sparam/apps.py

#apps.py
from django.apps import AppConfig


class SparamConfig(AppConfig):
    name = 'app.sparam'  # 记得加上“app.”
    verbose_name = u'参数管理'  # 补充这一行

(2)修改app/sparam/_init_.py

#__init__.py
default_app_config = 'app.sparam.apps.SparamConfig'

2、重启项目后,左侧导航栏多了一项“参数管理”,效果图


相关文章

  • Part09 在Xadmin自定义app增删改查案例

    一、目的 1、本Part将以一个实际需求作为出发点,对一个参数表进行增删改查的开发。 二、需求 1、参数表:SPA...

  • 关于python的list的增查删改

    说到增查删改,想起了数据库,我们在关系型数据库当中就会对表进行增查删改。 在python当中我们也可以对list进...

  • mysql的插入语句

    MySQL增删改查之增insert、replace

  • MYSQL数据库的增删改查

    MYSQL数据库的增删改查 一.对于库的增删改查 增create database 库名称;create data...

  • 0812 A

    mongodb 增删改查 增: db.createCollection("name", {options:numb...

  • 增删改

    对于表中的操作,就是增删改查,查内容较多,这里先说增删改。 1.增(insert或者load) 即插入数据,多行插...

  • Swift中CoreData的基本用法

    前几天看了一下CoreData的增删改查,于是试着在demo里面加进去使用 增 删 改 查

  • SQL查询结构总结

    SQL 增删改查 对数据库有修改的操作是:增删改 增 insert into 表名 values(); 删 del...

  • 2018-03-03

    rails c增删改查 增:user = User.create(name:'Jack', age:'18') 删...

  • 函数和增删改查(运用)

    增删改查 (基本命令) 1 . 增 inset(position,value)append(value)exten...

网友评论

      本文标题:Part09 在Xadmin自定义app增删改查案例

      本文链接:https://www.haomeiwen.com/subject/unwjeftx.html