django-vue-admin测试环境搭建

news2024/10/25 6:07:25

django-vue-admin测试环境搭建

  • 引言
  • 开发工具
  • 入门demo示例
  • 踩过的坑
    • 数据库字符集
    • 创建数据表
    • 前端路由
  • 自定义app
  • 效果展示

引言

django-vue-admin框架,大幅度降低应用层代码难度,让每一个刚开始学习 django和vue的新手都能快速上手。这将会是你上手学习 django+vue的最佳代码。

开发工具

后端开发:pycharm
前端开发:webstorm
数据库:mysql
前端编译:nodejs
其他
在这里插入图片描述

入门demo示例

https://django-vue-admin.com/guide/getting-started
一定要按照这个步骤一点不差的去写,先把demo运行起来再去实现自己的想法。
在这里插入图片描述

踩过的坑

数据库字符集

mysql数据库要用最新的版本,新建数据库要选utf8mb4
在这里插入图片描述

创建数据表

在app的目录下要有migrations目录及__init__.py文件,否则在执行python manage.py init时,不会创建数据表。

python manage.py init

在这里插入图片描述

前端路由

前端的app views下面,这两个地方的路由保持一致。
在这里插入图片描述

自定义app

定义自己的基础数据
在这里插入图片描述
init_dictionary.json

[
    {
        "label": "产品类型",
        "value": "product_type",
        "parent": null,
        "type": 0,
        "color": null,
        "is_value": false,
        "status": true,
        "sort": 8,
        "remark": null,
        "children": [
            {
                "label": "可库存产品",
                "value": "0",
                "parent": 46,
                "type": 1,
                "color": null,
                "is_value": true,
                "status": true,
                "sort": 0,
                "remark": null,
                "children": []
            },
            {
                "label": "服务类产品",
                "value": "1",
                "parent": 46,
                "type": 1,
                "color": null,
                "is_value": true,
                "status": true,
                "sort": 1,
                "remark": null,
                "children": []
            },
            {
                "label": "可消耗产品",
                "value": "2",
                "parent": 46,
                "type": 1,
                "color": null,
                "is_value": true,
                "status": true,
                "sort": 2,
                "remark": null,
                "children": []
            }
        ]
    }
]

init_menu.json

[
    {
        "name": "测试demo",
        "icon": "iconfont icon-xitongshezhi",
        "sort": 20,
        "is_link": false,
        "is_catalog": true,
        "web_path": "/jcerpDemo",
        "component": "",
        "component_name": "",
        "status": true,
        "cache": false,
        "visible": true,
        "parent": null,
        "children": [
            {
                "name": "商品列表",
                "icon": "ele-OfficeBuilding",
                "sort": 3,
                "is_link": false,
                "is_catalog": false,
                "web_path": "/jcerpDemo/ProductViewSet",
                "component": "jcerp_demo/ProductViewSet/index",
                "component_name": "ProductViewSet",
                "status": true,
                "cache": false,
                "visible": true,
                "parent": 1,
                "children": [],
                "menu_button": [
                     {
                        "name": "新增",
                        "value": "ProductViewSet:Create",
                        "api": "/api/ProductViewSet",
                        "method": 1
                    },
                    {
                        "name": "编辑",
                        "value": "ProductViewSet:Update",
                        "api": "/api/ProductViewSet/{id}/",
                        "method": 2
                    },
                    {
                        "name": "删除",
                        "value": "ProductViewSet:Delete",
                        "api": "/api/ProductViewSet/{id}/",
                        "method": 3
                    },
                    {
                        "name": "查询",
                        "value": "ProductViewSet:Search",
                        "api": "/api/ProductViewSet",
                        "method": 0
                    },
                    {
                        "name": "查看",
                        "value": "ProductViewSet:Retrieve",
                        "api": "/api/ProductViewSet/{id}/",
                        "method": 0
                    },
                    {
                        "name": "导出",
                        "value": "ProductViewSet:Export",
                        "api": "/api/ProductViewSet/export_data/",
                        "method": 1
                    },
                    {
                        "name": "导入",
                        "value": "ProductViewSet:Import",
                        "api": "/api/ProductViewSet/import_data/",
                        "method": 1
                    },
                    {
                        "name": "复制",
                        "value": "ProductViewSet:Copy",
                        "api": "/api/ProductViewSet",
                        "method": 1
                    }
                ],
                "menu_field": []
            }
        ],
        "menu_button": [],
        "menu_field": []
    }
]

initialize.py

# 初始化
import os

import django


os.environ.setdefault("DJANGO_SETTINGS_MODULE", "application.settings")
django.setup()

from dvadmin.utils.core_initialize import CoreInitialize
from dvadmin.system.fixtures.initSerializer import (
    UsersInitSerializer, DeptInitSerializer, RoleInitSerializer,
    MenuInitSerializer, ApiWhiteListInitSerializer, DictionaryInitSerializer,
    SystemConfigInitSerializer, RoleMenuInitSerializer, RoleMenuButtonInitSerializer
)


class Initialize(CoreInitialize):

    def init_menu(self):
        """
        初始化菜单信息
        """
        self.init_base(MenuInitSerializer, unique_fields=['name', 'web_path', 'component', 'component_name'])

    def init_dictionary(self):
        """
        初始化字典表
        """
        self.init_base(DictionaryInitSerializer, unique_fields=['value', 'parent', ])

    def run(self):
        self.init_menu()
        self.init_dictionary()


if __name__ == "__main__":
    Initialize(app='jcerp_demo').run()

再执行命令 python manage.py init初始化

效果展示

在这里插入图片描述

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

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

相关文章

PyQt 入门教程(3)基础知识 | 3.1、使用QtDesigner创建.ui文件

文章目录 一、使用QtDesigner创建.ui文件1、创建.ui文件2、生成.py文件3、使用新生成的.py文件4、编辑新生成的.py文件 一、使用QtDesigner创建.ui文件 1、创建.ui文件 打开PyCharm,使用自定义外部工具QtDesigner创建mydialog.ui文件,如下: …

pandas库——基础

1.概述 Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来 Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析) Pandas 已…

Python酷库之旅-第三方库Pandas(166)

目录 一、用法精讲 761、pandas.Interval.closed_right属性 761-1、语法 761-2、参数 761-3、功能 761-4、返回值 761-5、说明 761-6、用法 761-6-1、数据准备 761-6-2、代码示例 761-6-3、结果输出 762、pandas.Interval.is_empty属性 762-1、语法 762-2、参数 …

【Mac 上将 MOV 格式转换为 MP4 格式的简易指南】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【C++】哈希实现unordered_map/set

关于哈希模拟实现unordered_map/set&#xff0c;与红黑树模拟实现map/set的大体思路相似。 【C】红黑树模拟实现map和set-CSDN博客 HashTable的迭代器 operator template<class K,class T,class KeyOfT> struct __HashTableIterator {typedef __HashTableIterator<…

电梯导航 - 点击标题跳转对应区域

需求 点击标题&#xff0c;使用a标签的锚点自动跳到对应区域滚动区域&#xff0c;右边自动切换对应的标题 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"wid…

大话红黑树之(3)进阶解析

红黑树高阶知识讲解 红黑树作为一种自平衡的二叉查找树&#xff08;BST&#xff09;&#xff0c;在大多数语言和库中有着广泛应用。它能够在常规操作&#xff08;查找、插入、删除等&#xff09;中保持 O(log n) 的时间复杂度。这篇文章从红黑树的高级特性、性能优化、旋转机制…

U9的插件开发之BE插件(1)

U9插件可分为&#xff1a;BE插件、BP插件、UI插件&#xff1b; BE(Business Entity) 简单就是指实体&#xff0c;U9的元数据。 我的案例是设置BE默认值&#xff0c;即在单据新增时&#xff0c;设置单据某一个字段的默认值&#xff0c;具体如下&#xff1a; 1.插件开发工具&a…

使用virtualenv导入ssl模块找不到指定的模块

最近在学习tensorflow&#xff0c;由于教程里面使用的是virtualenv&#xff0c;所以就按照教程开始安装了虚拟环境。但是在使用的时候&#xff0c;卡在了import ssl这一步&#xff0c;提示如下错误 >>> import ssl Traceback (most recent call last):File "<…

word删除空白页 | 亲测有效

想要删掉word里面的末尾空白页&#xff0c;但是按了delete之后也没有用 找了很久找到了以下亲测有效的方法 1. 通过鼠标右键在要删除的空白页面处显示段落标记 2. 在字号输入01&#xff0c;按ENTER&#xff08;回车键&#xff09; 3.成功删除了&#xff01;&#xff01; PS…

python excel如何转成json,并且如何解决excel转成json时中文汉字乱码的问题

1.解决excel转成json时中文汉字乱码的问题 真的好久没有打开这个博客也好久没有想起来记录一下问题了&#xff0c;今天将表格测试集转成json格式的时候遇到了汉字都变成了乱码的问题&#xff0c;虽然这不是个大问题&#xff0c;但是编码问题挺烦人的&#xff0c;乱码之后像下图…

018集——c# 实现CAD添加侧栏菜单(WPF控件)(CAD—C#二次开发入门)

本例实现的效果如下&#xff1a; 第一步&#xff1a;添加引用 using UserControl System.Windows.Controls.UserControl; using System.Windows.Forms.Integration;//PaletteSet integration 第二步 <UserControl x:Class"AcTools.UserControl1"xmlns"htt…

Pytorch学习--如何下载及使用Pytorch中自带数据集,如何把数据集和transforms联合在一起使用

一、标准数据集使用 pytorch官网–标准数据集 这里以CIFAR10数据集为例&#xff1a;CIFAR10 下载数据集 代码&#xff1a; import torchvision train_datatorchvision.datasets.CIFAR10(root"datasets",trainTrue,downloadTrue) test_datatorchvision.datasets.…

运维加薪之Ansible(DevOps Salary Increase with Ansible。‌)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

微服务架构学习笔记

#1024程序员节|征文# 微服务架构作为现代软件开发中的热门技术架构&#xff0c;因其灵活性和可扩展性&#xff0c;逐渐成为许多企业系统设计的首选。以下是关于微服务的一些学习笔记&#xff0c;涵盖微服务的核心概念、优缺点、设计原则以及常用工具等方面。 1. 微服务是什么&…

【Docker】docker | 部署nginx

一、概述 记录下nginx的部署流程&#xff1b;将conf配置文件映射到宿主机 前提依赖&#xff1a;自行准备nginx的镜像包 二、步骤 1、运行、无映射 docker run --name nginx -p 80:80 -d nginx:1.18.0-alpine 80&#xff1a;80&#xff0c;前面是宿主机端口&#xff1b;如果冲…

Spring Boot植物健康系统:智慧农业的新趋势

6系统测试 6.1概念和意义 测试的定义&#xff1a;程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为&#xff1a; 目的&#xff1a;发现程序的错误&#xff1b; 任务&#xff1a;通过在计算机上执行程序&#xff0c;暴露程序中潜在的错误。 另一个…

ripro-v5-8.3开心版主题源码

1、下载主题源码ripro-v5.zip进行安装。 2、下载激活文件ripro-v5-active.php上传到wp根目录&#xff0c;访问一次&#xff0c;即可激活。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89915698 更多资源下载&#xff1a;关注我。

队列(数据结构)——C语言

目录 1.概念与结构 2.队列的实现 初始化QueueInit 申请新节点BuyNode 入队QueuePush 判断队为空QueueEmpty 出队QueuePop 读取队头数据QueueFront 读取队尾数据QueueBack 元素个数QueueSize 销毁队列QueueDestroy 3.整体代码 (文章中结点和节点是同一个意思) 1.概…

闯关leetcode——203. Remove Linked List Elements

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/remove-linked-list-elements/description/ 内容 Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val val, and return the new …