【DVadmin教程】新增一个app并且创建一个curd模型

下载dvadmin

在gitee上搜索 django-vue-admin 别选错了,选择那个星最多的
gitee上会推荐移步 django-vue3-admin 别上当,用那个会踩坑,此教程就不适用了;

运行后端

后端

创建APP

python manage.py startapp rules

调整位置

为了管理方便 把刚创建的 rules 文件夹移动到dvadmin目录下
在这里插入图片描述
添加setting文件,在setting.py的INSTALLED_APPS下增加rules,由于刚移动了rules到dvadmin下所以就要使用 dvadmin.rules
在这里插入图片描述

调整位置后,还需要再调整apps的name不然报错说没有安装这个app
在这里插入图片描述
增加个url;rules在创建后是没有url.py的,需要手动增加一个,这个不用手动创建,直接从rules同级目录system下复制一份,并且把多余的代码注释掉,注释掉而不清理掉主要是为了方便后边增加模型后再增加路由
在这里插入图片描述
注释掉后的代码,只保留一个urlpatterns=[]就行了,django会根据这个urlpatterns来找路由
在这里插入图片描述
rules的路由有了就能在总路由里配置上了
在这里插入图片描述

增加虚拟币币种表

model层:

在dvadmin/rules/models.py填充一下内容:

from django.db import models
from dvadmin.utils.models import CoreModel# Create your models here.table_prefix_in = "rules_"class MiningCryptoInfo(CoreModel):id = models.BigAutoField(primary_key=True, help_text="Id")# crypto_id = models.BigIntegerField(#     verbose_name="虚拟币id", help_text='唯一标识,主键,自增,从80001开始', db_index=True, primary_key=True# )crypto_id = models.IntegerField(verbose_name="虚拟币id", help_text='唯一标识,主键,自增,从80001开始', )crypto_name = models.CharField(max_length=100, default=None, verbose_name="币种标准名", )crypto_code = models.CharField(max_length=20, default=None, verbose_name="币种代码", )refer_link = models.CharField(max_length=1024, default=None, verbose_name="参考链接", blank=True, )description = models.CharField(max_length=1024, default=None, verbose_name="币种描述信息", blank=True, )class Meta:db_table = table_prefix_in + "mining_crypto_info"verbose_name = '虚拟币币种'verbose_name_plural = verbose_nameordering = ('id',)

序列化

dvadmin有核心类库继承一下CustomModelSerializer就能省很多代码;
序列化放在了 backend/dvadmin/rules/views.py 文件下,直接复制过去就行了;

from dvadmin.utils.viewset import CustomModelViewSet
from dvadmin.rules.models import MiningCryptoInfo
from dvadmin.utils.serializers import CustomModelSerializer# Create your views here.class MiningCryptoInfoSerializer(CustomModelSerializer):"""序列化器"""class Meta:model = MiningCryptoInfofields = "__all__"

视图层

视图层上dvadmin也有核心类库继承一下CustomModelViewSet能省很多代码;
视图放在了 backend/dvadmin/rules/views.py 文件下,直接复制过去就行了;

class MiningCryptoInfoViewSet(CustomModelViewSet):queryset = MiningCryptoInfo.objects.all()serializer_class = MiningCryptoInfoSerializercreate_serializer_class = MiningCryptoInfoSerializerupdate_serializer_class = MiningCryptoInfoSerializerfilter_fields = ['id', 'crypto_id', 'crypto_name', 'crypto_code']search_fields = ['id', 'crypto_id', 'crypto_name', 'crypto_code']

在添加完序列化、视图层后的backend/dvadmin/rules/views.py 文件

from dvadmin.utils.viewset import CustomModelViewSet
from dvadmin.rules.models import MiningCryptoInfo
from dvadmin.utils.serializers import CustomModelSerializer# Create your views here.class MiningCryptoInfoSerializer(CustomModelSerializer):"""序列化器"""class Meta:model = MiningCryptoInfofields = "__all__"class MiningCryptoInfoViewSet(CustomModelViewSet):queryset = MiningCryptoInfo.objects.all()serializer_class = MiningCryptoInfoSerializercreate_serializer_class = MiningCryptoInfoSerializerupdate_serializer_class = MiningCryptoInfoSerializerfilter_fields = ['id', 'crypto_id', 'crypto_name', 'crypto_code']search_fields = ['id', 'crypto_id', 'crypto_name', 'crypto_code']

前端

前端创建一项

参考别处的代码直接复制一份过来;例如我复制了这个白名单的代码,并且改名为了XXX
在这里插入图片描述

在dvadmin里增加上这一个app

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java学习笔记1

java基础入门 1 初识java 1.1 jdk安装 1.1.1 下载jdk https://www.oracle.com/java/technologies/downloads/#java8-windows1.1.2 安装jdk jdk-8u361-windows-x64.exe安装到D:\Program Files\Java\jdk1.8.0_361安装jre,修改地址到D:\Program Files\Java\jre1.8.0_361jdk安装…

【JAVA进阶篇教学】第二篇:JDK8中Lambda表达式

博主打算从0-1讲解下java进阶篇教学,今天教学第二篇:JDK8中Lambda表达式。 Lambda 表达式是 Java 8 中引入的一项重要特性,它允许您以更简洁、更紧凑的方式编写匿名函数。Lambda 表达式使得函数式编程在 Java 中变得更加容易和优雅。下面我将…

C++|模板进阶(非类型模板参数+特化)

目录 一、非类型模板参数 二、模板特化 2.1函数模板特化 2.2类模板特化 2.2.1全特化 2.2.2偏特化 三、模板不支持分离编译 四、模板优缺点 一、非类型模板参数 在模板初阶中,所学习的模板的参数是类型形参,但其实还有非类型形参。 类型形参&am…

boa.conf配置详解

boa的配置文件路径:/etc/boa/boa.conf Port 80 # 监听的端口号,缺省值是80 若80被占用,可修改监听端口为其他未占用端口(如:88) Listen 192.68.0.5 # 绑定调用的IP地址,一般注释掉,…

flutter 设置全屏 和隐藏状态栏和导航栏

设置全面屏 使用 SafeArea 将页面套起来 top bottom 都设置为true SafeArea(top: false,bottom: false,child: Container(child: _body(),), ), 隐藏状态栏和导航栏 SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);overlays 中可以填需要展示的 如…

车灯LED电源控制降压恒流输出8A大电流芯片AP5125高低亮

产品描述 AP5125 是一款外围电路简单的 Buck 型平均电流检测模式的 LED 恒流驱动器,适用于 8-100V 电压范围的非隔离式大功率恒流 LED 驱动领域。芯片采用固定频率 140kHz 的 PWM 工作模式, 利用平均电流检测模式,因此具有优异的负载调整 率…

第26篇 Windows快捷键大全

201. Win Shift 左键点击任务栏图标 - 打开应用程序的窗口菜单,允许你进行更多操作,如关闭所有窗口。 202. Win Shift 左/右箭头 - 将当前窗口移动到上一个或下一个虚拟桌面。 203. Win Shift 左键点击开始按钮 - 搜索所有应用程序和文件&#xff…

Python中的Map函数:简化你的循环和函数调用

目录 一、Map函数基础 二、使用Lambda表达式 三、处理多个列表 四、与Filter和Reduce的比较 map函数 ilter函数 reduce函数 五、使用Map的好处 六、结语 🚀 个人主页:xmp65535 🚀 专栏:python技术专栏 在Python中&#…

汇编期末复习知识点

参考文献1 第一章 概述 组成 计算机系统由硬件子系统和软件子系统组成。硬件子系统:组成计算机系统的所有电子的,机械的,光学的和磁性的元部件。 计算机中常用进制数表示 十进制(Decimal):数据尾部加一后缀D,如2355D二进制&a…

nginx配置挂载html

目标 很多软件的官方文档,在国内打开很慢,每次都得等很久,看到官方同时提供了html的包,所以想着挂载到本地nginx下,查看会方便很多。 下载官方html文档包,解压到documentation_htmls下 想添加新的文档也是…

C语言前期算法整理

1. 分别获得一个四位数的个、十、百、千位上的数字 #include <stdio.h>int main(void) {int num 1234;int ge 0;int shi 0;int bai 0;int qian 0;ge num % 10;shi num / 10 % 10;bai num / 100 % 10;qian num / 1000;printf("ge %d\n", ge);printf(…

Golang基础3-函数、nil相关

函数 需要声明原型支持不定参数 func sum(numbers ...int)int支持返回多值支持递归支持命名返回参数 // 命名返回参数 func add(a, b int) (sum int) {sum a breturn // 这里不需要显式地写出返回值&#xff0c;因为已经在函数签名中声明了命名返回参数 } 支持匿名函数、闭包…

面试十七、list和deque

一、 Deque Deque容器是连续的空间&#xff0c;至少逻辑上看来如此&#xff0c;连续现行空间总是令我们联想到array和vector,array无法成长&#xff0c;vector虽可成长&#xff0c;却只能向尾端成长&#xff0c;而且其成长其实是一个假象&#xff0c;事实上(1) 申请更大空间 (…

sa-token整合oauth2

sa-token 是一个轻量级 Java 权限认证框架&#xff0c;而 OAuth 2.0 是一个开放标准&#xff0c;允许第三方应用获取对HTTP服务上用户帐户的有限访问权限&#xff0c;无需用户提供用户名和密码。将 sa-token 与 OAuth 2.0 整合可以使得你的 Java 应用支持更加灵活的认证和授权机…

快速理解Laravel容器(IOC、DI、Provider、Contract)

源码理解思维的提升 分享一些个人见解。 Laravel里面的某些概念&#xff0c;就像魔术一样&#xff0c;看起来很厉害&#xff0c;当知道魔术怎么变的&#xff0c;就会认为也不过如此。所以不必感觉Laravel里有些概念难以理解。 应当抛除被框架约束思维的枷锁&#xff0c;用PHP…

vuetify3.0+tailwindcss+vite最新框架

1、根据vuetify官网下载项目 安装vuetify项目 2、根据tailwindcss官网添加依赖 添加tailwindcss依赖 3、 配置main.ts // main.ts import "./style.css"4、使用 <template><h1 class"text-3xl font-bold underline">Hello world!</…

解密 Grupo MasMovil 使用 ClickHouse 监控无线网络

本文字数&#xff1a;4151&#xff1b;估计阅读时间&#xff1a;11 分钟 作者&#xff1a;Rodrigo Aguirregabiria Herrero, Grupo MasMovil 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 我们很高兴与大家分享来自西班牙最大的电信…

数据类型总结

1 引言 在计算机的世界里&#xff0c;数据类型是被人类定义出来的&#xff0c;方便人去更好地理解、辨别数据。计算机只能识别二进制数&#xff0c;不可能要求写代码时&#xff0c;只是输入一些0/1的东西。通过定义数据类型&#xff0c;可以让人和计算机更好地“沟通”&#x…

如何评价微软发布的Phi-3,手机都可以运行的小模型

前几天才刚刚发布了Llama 3&#xff0c;今天微软就出手了&#xff0c;发布了小而精的phi-3 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 刚刚发布的Phi-3系列小模型技术报告&#xff0c;引起AI圈热议。 添加图片注释&#xff0c;不超过 140 字&#x…

【数据结构】三、栈和队列:1.栈的基础(从数据结构三要素讨论:逻辑结构、物理结构(存储结构)、数据运算(基本操作))

文章目录 栈Stack逻辑结构物理&#xff08;存储&#xff09;结构基本操作常考题型 栈Stack 逻辑结构 栈&#xff08;Stack&#xff09;是只允许在一端进行插入或删除操作的线性表。 重要术语&#xff1a;栈顶&#xff08;现在能放入的一段&#xff09;&#xff0c;栈底&…