当前位置: 首页 > article >正文

fantastic-admin5.0发布,Vue3 + django重构(一)后端

说下写这个文章的背景信息

1、我是个后端开发者,主要语言是python,对前端了解不多,fantastic-admin的很多优点吸引了我,比如很多基础组件已经构建完毕,页面布局,主题风格丝滑切换,因此我算是深度绑定这个前端框架来构建我的应用;

2、后端我还是坚持选择django,可能大家会诟病这个框架比较重,反馈比较慢,不像flask之类的框架简单易用,从实际的使用中看,django我主要是用的是他的路由,安全模块,数据库管理模块,其中安全模块尤为重要,如果让我们手动在flask里加载各种安全组件,这个工作量远大于开发一个功能的消耗;

3、对于性能这块,搭建了一个小型的应用平台,1台2核4G的虚拟机,百十来人的单位用起来都没有太大问题,只要并发不太大就好,如果需要解决并发问题,可以通过缓存,如redis等来实现,也可以动态扩展;

        综上所述,我选择的这个组合都比较成熟,安全有兜底,前端功能亮眼还不用花费过大的精力,数据库调用还有django的 ORM框架使用起来也比较方便,比传统写SQL 安全还快捷,易于理解,所以主技术栈就这么定下来了。

        此文档主要讨论这套系统从0开始搭建的路由,和基本信息,对于复杂页面的构建,本文档就继续了,由于5.0是个比较大的更新,我个人也不是很了解,所以在这个文档的时候边调,边写,希望能对大家有所启迪。


        django变化不大,甚至不用看文档就能搭建起来很是顺手

1、新建项目 all_in_one

创建一个应用crm,写入默认的数据库信息,然后启动程序,就这么简单,命令及截图如下:

pip3 install django                         # 安装django 我的版本是5.1.5
django-admin startproject all_in_one        # 新建项目 all_in_one
cd all_in_one                               # 进入 all_in_one 目录
python3 manage.py startapp crm              # 新建 crm 应用
python3 manage.py migrate                   # 写入默认的数据库,表信息
python3 manage.py runserver                 # 启动django

截图如下:

        打开系统提示的链接 http://127.0.0.1:8000/,你应该会看到上面的图片,表示django已经按照默认启动了,这里我们可以在后台调整中文什么的内容,因为我们不准备用到django的默认页面展示功能,这里就不调整了。

2、修改django的默认路由设置

这部分,和上篇文章的内容一样,我只是从走了一遍流程,1分钟搞定,之前的代码有些地方略有瑕疵,这里给大家贴完整的代码

2-1、修改 /all_in_one/setting.py 文件,这样crm这个目录系统就能识别了,这个地方我还挺奇怪的,既然crm是通过命令创建的,完全可以自动添加到这个位置;

2-2、修改 /all_in_one/urls.py 文件,接管系统的路由设定

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    # path('admin/', admin.site.urls),
    path('crm/', include(('crm.urls', 'crm'), namespace='crm')),

]

这样就构建了一个crm的子路由, 构建了 http://127.0.0.1:8000/crm/... 这样的链接

这时控制台的进程就会报错了,因为 crm 这个目录里并没有 urls.py 的文件,不用担心,在 crm 目录下创建 url.py 的文件,内容如下

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('default', views.default_api, name='default'),

]

这时候控制台还在报错,因为 crm 目录下的views的文件并没有 default_api 这个函数,初学者这里会比较害怕,要连着改好几个文件,不用担心,django好像就是喜欢让用户手动创建文件

crm/views.py 文件内容如下

from django.shortcuts import render

# Create your views here.
from django.http import HttpRequest, JsonResponse

def default_api(request: HttpRequest) -> str :
 
	# 从POST请求的body中获取JSON数据
	response_data = {}
	response_data['status'] = 'OK'
	return JsonResponse(response_data, status=200)

这时在保存文件,你会发现控制台哪里没有报错了,打开链接 default_api ,你应该会看到下面的内容

这就是从后端生成的 json 数据,现在的应用已经基本转向了这种前后端分离的架构,所有从后端传到前端 json 数据是相当常用的数据传输方式,好了,现在由 url,view 构建的路由,视图体系就完成了,以后需要什么样的数据,直接在后端写url 和指定的视图就可以了,后端部分完毕!

        我也大家在写完一个应用后,往往会从之前的应用进行修改套用,很少会重新开一个全新的项目,我写这个就是为了降低重新开项目的生疏感,现在好了1分钟搞定。


http://www.kler.cn/a/520249.html

相关文章:

  • Go中的三种锁
  • 求阶乘(信息学奥赛一本通-2019)
  • RV1126画面质量四:GOP改善画质
  • python深入SQLAlchemy使用详解
  • Zookeeper(28)Zookeeper的线性化写入和顺序一致性读是什么?
  • 接口(完)
  • LeetCode题练习与总结:最短无序连续子数组--581
  • android的gradle
  • fiscoBcos中使用工具脚本在本地搭建一条4节点链
  • 周末总结(2024/01/25)
  • C#常考随笔3:对象比较obj1.Equals(obj2)== true时候,hashcode是否相同?
  • Java的循环结构
  • 【数据结构】_链表经典算法OJ:合并两个有序数组
  • 随笔十七、eth0单网卡绑定双ip的问题
  • 题解 洛谷 Luogu P1113 杂务 图论 BFS C++
  • 计算机网络之链路层
  • CommonAPI学习笔记-1
  • 【Oracle篇】使用Hint对优化器的执行计划进行干预(含单表、多表、查询块、声明四大类Hint干预)
  • 牛客训练营(一)补题
  • 【2025AI发展预测】2.2025的风口与发展,我们如何主动拥抱这一浪潮
  • 可见光通信代码仿真
  • 狗狗能吃萝卜吗?
  • vim可视化模式的进阶操作
  • C# 类(Class)
  • SOME/IP--协议英文原文讲解1
  • 深度解析:基于Vue 3的教育管理系统架构设计与优化实践