• Stars
    star
    706
  • Rank 64,138 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created about 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

支持Python3.9,Django4! 类似 xadmin 的基于Model 快速生成前后台管理增删改查,筛选,搜索的后台管理自动化工具。Antd 界面好看现代化!前后端分离!无损二次开发!由Django Restful Framework 和 Ant Design Pro V4 驱动

TyAdmin: Django 基于Models 的 No Code 零代码零学习成本管理后台前后端生成工具, 由Django Restful Framework 和 Ant Design Pro V4 驱动

支持Python3.9! 不限Django版本支持,支持最新Django4!支持Django3!

🎬 在线体验Demo

账号: tyadmin 密码: tyadmin

演示地址: https://tyadmin.funpython.cn/xadmin

No Code!!! 一行代码都不写,就能拥有的现代化后台管理, 动动小手,star一下,感谢!!

TyAdmin: 只需要花五分钟阅读README即可快速上手,无额外文档,无框架学习成本,不用自己写一行代码,全自动的后台,你值得拥有!

✨ 特性

  • 自动生成前后端管理后台,页面接口神奇全自动对接。登录验证,修改密码,Dashboard数据统计。
  • 一次拥有 增删改查,筛选,搜索,数据全量导出,选择导出
  • 外键字段,多对多字段,富文本,文件,图片,django自带权限系统

只需要设计好Model,在settings中配置需要生成哪些model,运行命令: 快速上手

后端生成一个django app到项目目录, 只需注册一下, 无需再写一行代码! 代码归你掌控,无阻二次开发! 前端生成一个Ant Design Pro V4项目,只需启动一次,无需再写一行代码! 代码归你掌控,无阻二次开发!

前端页面,后端接口,路由,菜单全部自动对接,你只需要拷贝文档,修改配置,不需要写一行代码!!

🎁 内置

1. 多种登录方式

2. 内嵌自动dashboard,自动注册现有model count 数据。

3. 全自动的列表展示,增删改查, 筛选,搜索,导出Excel

4. django自带权限组支持,外键蓝点小标记pop支持

5. 基于Model定义的表单字段级别自动验证

6. 内嵌富文本支持,仅需把字段定义为richTextField,无需任何额外集成。

快速上手🤟

📨 互动交流反馈QQ群: 304094780

已有项目可从第二步开始,注意修改GEN_APPS 变量为自己需要生成的app列表 如有问题,可对比demos下tyadmin_demo_finish项目找自己的不同,以及查看QA环节

1. 下载demo项目安装依赖(注意!!已有项目不需要下载demo项目可从第二步开始,注意修改GEN_APPS 变量为自己需要生成的app列表)

git clone https://github.com/mtianyan/tyadmin_api_cli.git
cd tyadmin_api_cli/demos/tyadmin_demo_init
# 安装项目 原本就需要的依赖
pip install -r requirement.txt

2. 安装tyadmin-api-cli并注册tyadmin-api-cli

pip install tyadmin-api-cli

INSTALLED_APPS = [
+    'captcha',
+    'tyadmin_api_cli',
]

+TY_ADMIN_CONFIG = {
+    'GEN_APPS': ['demo']
+}

# 方便拷贝

    'captcha',
    'tyadmin_api_cli',

TY_ADMIN_CONFIG = {
    'GEN_APPS': ['demo']
}

GEN_APPS: 填写你想要生成的app列表。

3. 初始化 后端app(tyadmin_api) + 前端项目(tyadmin) && 生成后端自动化的视图,过滤器,路由,序列器 + 前端页面及路由菜单

生成后端页面依赖,需安装Node.js -> https://www.runoob.com/nodejs/nodejs-install-setup.html

安装Node.js 10以上,推荐安装版本Latest LTS Version: 12.19.0

python manage.py init_admin && python manage.py gen_all && cd tyadmin && npm install && npm run build

耐心等待一会,build 会输出 前端页面到templates文件夹,生成前端js,css 等到static文件夹

4. 注册生成出的django app

INSTALLED_APPS = [
    'captcha',
    'tyadmin_api_cli',
+   'tyadmin_api'
]

# 方便拷贝

'tyadmin_api'

5. 注册首页路由,api路由

./tyadmin_demo/urls.py

+ from tyadmin_api.views import AdminIndexView

urlpatterns = [
+    re_path('^xadmin/.*', AdminIndexView.as_view()),
+    path('api/xadmin/v1/', include('tyadmin_api.urls')),
]

# 方便拷贝
from tyadmin_api.views import AdminIndexView

re_path('^xadmin/.*', AdminIndexView.as_view()),
path('api/xadmin/v1/', include('tyadmin_api.urls')),

6. 运行项目

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser # 创建一个可以登入后台的用户
python manage.py runserver # 默认运行在8000端口

访问http://127.0.0.1:8000/xadmin/ 输入刚才创建的用户名密码登录

至此大功告成!

如果没有成功看到页面,请查看QA部分

QA环节

0. TemplateDoesNotExist at /xadmin/ TyAdmin/index.html

settings.py 中配置templates 路径

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [],
+        'DIRS': [os.path.join(BASE_DIR, 'templates')],

1. 卡在loading页面,一直无法登陆

settings.py 中配置static 路径

if DEBUG:
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, "static"),
    ]
else:
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')

2. 图片没有正常显示

urls.py

from django.views.static import serve

urlpatterns = [
re_path('media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}),
]

3. 当项目新增了model,我该如何为新model生成前端页面+后端接口

+TY_ADMIN_CONFIG = {
+    'GEN_APPS': ['demo','new_app']
+}

如上GEN_APPS 中添加新app的name,然后运行下面命令

python manage.py gen_all && cd tyadmin && npm run build

4. 项目修改了model,重新生成页面为何不生效

为防止你对已生成前端进行的二次开发被覆盖,默认是不强制覆盖已生成的前端。如果需要重新生成,请添加如下配置 FORCED_COVER

TY_ADMIN_CONFIG = {
    'FORCED_COVER': True,
    'GEN_APPS': ['demo']
}

5. 如何运行生成的前端独立项目

cd tyadmin
npm install
npm run start:dev # 默认会运行在8001端口

请确认django运行在8000端口,访问 http://127.0.0.1:8001/xadmin/

🤝 贡献者名单:

longyn

🤟 打赏

很高兴我的项目代码或许对你有帮助,请我吃包辣条或喝瓶可乐吧!

微信打赏:

mark

🔑 License

MIT

Copyright (c) 2020 mtianyan

附录

model->前端对应关系

字段类型 前端展示
ForeignKey 单选
ManyToManyField 多选 & 多彩标签展示
richTextField 富文本展示
CharField or IntegerField(with choices) 多选
CharField or IntegerField 输入框
ImageField 带预览上传,可选头像,图片列表展示
FileField 文件上传
TextField TextArea框
BooleanField Switch选择
IntegerField 数字input
DateField Date选择器
DateTimeField DateTime选择器

ForeignKey自动生成下拉单选菜单, ManyToManyField自动生成下拉多选菜单或穿梭框

richTextField 自动生成富文本

detail = richTextField(verbose_name="课程详情")

CharField和IntegerField choices 自动生成表单前端下拉选择框。

GENDER_CHOICES = (
   ("male", "男"),
   ("female", "女")
)
gender = CharField(verbose_name="性别",choices=GENDER_CHOICES)

ImageField 自动生成带预览的表单上传功能,列表页可选两种展示方式。

avatar = ImageField(verbose_name="头像") # 变量名为avatar或logo的会自动为头像样式
image = ImageField(verbose_name="封面图")    

FileField 字段生成文件上传功能。

download = FileField(verbose_name="资源文件")

TextField 自动生成前端TextArea 框

desc = TextField(verbose_name="课程描述")

BooleanField 自动前端 Boolean 单选

is_banner = BooleanField(verbose_name="是否轮播")

IntegerField 自动前端 Int 输入框

learn_times = IntegerField(verbose_name="学习时长(分钟数)")

DateField 自动前端 Date选择框

birthday = DateField(verbose_name="生日")

DateTimeField 自动表单 DateTime 选择框,时间范围筛选器。

last_login = DateTimeField(verbose_name="上次登录")

注意设置了default,auto_now的不会出现在表单

More Repositories

1

VueDjangoAntdProBookShop

Vue前台 + Django3.1 + DjangoRestful Framework + Ant Design Pro V4 开发的二手书商城网站及后台管理
Python
1,241
star
2

FunpySpiderSearchEngine

Word2vec 千人千面 个性化搜索 + Scrapy2.3.0(爬取数据) + ElasticSearch7.9.1(存储数据并提供对外Restful API) + Django3.1.1 搜索
Python
914
star
3

OnlineMooc

Vue前台 + Django3.1 + DjangoRestful Framework + Ant Design Pro V4后台 开发的在线教育网站及后台管理
Python
821
star
4

mtianyanSearch

Word2vec 个性化搜索实现 +Scrapy2.3.0(爬取数据) + ElasticSearch7.9.1(存储数据并提供对外Restful API) + Django3.1.1 搜索
Python
244
star
5

FlaskMovie

【正在改版开发中,请勿使用!】Flask电影网站前台+后台管理。
Python
230
star
6

xadmin_ueditor_django2.2

【已废弃,推荐使用django-antd-tyadmin 现代化的xadmin替代品 】个人修改bug自用版xadmin,ueditor
JavaScript
120
star
7

online-store

vue的前端生鲜超市项目与drf配套使用
Vue
44
star
8

DjangoGetStarted

Django搭建在线教育平台前置小练习-留言板
Python
38
star
9

tensorflow-linux-wheel

(cuda9.2 +cudnn7.1.4 )Performance-optimized wheels for TensorFlow On Linux System
31
star
10

Mxonline2

使用Python2.7与Django1.9.8开发的在线教育平台网站 python3+django2.0版本在仓库Mxonline3
JavaScript
31
star
11

Programming-Notebook

📔 编程笔记 & 代码
25
star
12

movie_project_html

flask微电影前端页面
HTML
23
star
13

py3DataMining

Python3数据分析与挖掘建模实战 学习代码
Jupyter Notebook
16
star
14

fluent_python_comment

流畅的Python 代码注释版
Python
15
star
15

OpencvTensorflowPlay

计算机视觉opencv与TensorFlow学习
Jupyter Notebook
14
star
16

graphLabStartedML

机器学习启蒙课程: 使用graphLab实战小案例
Jupyter Notebook
13
star
17

NeuralNetworksGetStarted

深度学习之神经网络核心原理与算法-课程学习相关代码
Python
12
star
18

FlaskGetStarted

flask搭建的一个具有编辑,删除,发布文章,富文本编辑器集成的小项目
JavaScript
12
star
19

Mtianyan-Play-with-Machine-Learning-Algorithms

Python3入门机器学习 经典算法与应用 学习
Jupyter Notebook
11
star
20

Mxonline3_html

Mxonline3 Mxonline2以及DjangoGetStarted的纯静态前端页面
HTML
9
star
21

PythonRpcCode

深入理解 RPC : 基于 Python 自建分布式高并发 RPC 服务代码-Python3版本代码
Python
9
star
22

c

慕课网c语言路径课程-学习代码+笔记
C
8
star
23

Mtianyan001

安卓原生智能管家(仿b站ui及配色)
Java
8
star
24

PythonMicroservicesDevelopment_Code

python微服务
Python
8
star
25

Python3Database

Python操作三大数据库学习
HTML
8
star
26

drf-go-admin

https://github.com/wenjianzhang/go-admin 24小时内完成90% DjangoRestfulFramework 复刻版
Python
7
star
27

TensorFlowPlayDemo

TensorFlow应用实践代码
Python
4
star
28

Mtianyan-Play-with-Linear-Algebra

学习bobo老师线性代数
Python
3
star
29

leetcode-revise

leetcode题目统计,可看到提交次数和重刷次数,方便复习。
Python
3
star
30

Mtianyan-Play-with-Data-Structures

个人学习版代码: 玩转数据结构
Java
3
star
31

C_C-_Use_Python_3

python3与c,c++相互调用学习。
C
3
star
32

django-drf-react-quickstart

Tutorial: Django REST with React (Django 2.1 and a sprinkle of testing)
JavaScript
3
star
33

DjangoEduOnline

2.1版
JavaScript
3
star
34

Py3DataScience

通过Numpy、Pandas进行数据科学计算,通过Seaborn、 Matplotlib进行数据图形化展示
Jupyter Notebook
3
star
35

python-parallel-programmning-cookbook

python-parallel-programmning-cookbook-code
Python
2
star
36

VueTravel

使用vue2.5 模仿去哪儿移动端app
JavaScript
2
star
37

JavaCode

Java零基础入门代码
Java
2
star
38

ApiTest

接口测试学习
Python
2
star
39

AlgoPlay

多语言数据结构学习
Java
2
star
40

PythonDataStruct

Python数据结构
Python
2
star
41

mtianyan.github.io

mtianyan's blog
HTML
1
star
42

BlogPlan

Full Stack Blog Plan
PHP
1
star
43

tyadmin_pro

TypeScript
1
star
44

CPlusPlusCode

C++远征攻略学习代码
C++
1
star
45

learnGo

学习Go
HTML
1
star
46

girl_sb

springboot入门学习
Java
1
star
47

tyadmin_vue

tyadmin vue版
Vue
1
star
48

RegTest

正则表达式小练习
Python
1
star
49

CCode

C语言学习攻略代码
C
1
star
50

testCode

1
star
51

YnuSoftCms

php开发的一个新闻发布系统(简单版)
PHP
1
star
52

Python3Basic

七月老师的Python3入门
Python
1
star