# TyAdmin: Django 基于Models 的 **No Code** 零代码零学习成本管理后台前后端生成工具, 由Django Restful Framework 和 Ant Design Pro V4 驱动
![](https://img.shields.io/pypi/v/tyadmin-api-cli)
![](https://img.shields.io/pypi/wheel/tyadmin-api-cli)
支持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. 多种登录方式
![](http://cdn.pic.funpython.cn/blog_img/20201130234228.png)
## 2. 内嵌自动dashboard,自动注册现有model count 数据。
![](http://cdn.pic.funpython.cn/blog_img/20201130234054.png)
## 3. 全自动的列表展示,增删改查, 筛选,搜索,导出Excel
![](http://cdn.pic.funpython.cn/blog_img/20201130234448.png)
![](http://cdn.pic.funpython.cn/blog_img/20201130234525.png)
## 4. django自带权限组支持,外键蓝点小标记pop支持
![](http://cdn.pic.funpython.cn/blog_img/20201130234705.png)
![](http://cdn.pic.funpython.cn/blog_img/20201130234753.png)
## 5. 基于Model定义的表单字段级别自动验证
![](http://cdn.pic.funpython.cn/blog_img/20201010194705.png)
## 6. 内嵌富文本支持,仅需把字段定义为`richTextField`,无需任何额外集成。
![](http://cdn.pic.funpython.cn/blog_img/20201010192630.png)
# 快速上手🤟
📨 互动交流反馈QQ群: 304094780
>已有项目可从第二步开始,注意修改GEN_APPS 变量为自己需要生成的app列表
>如有问题,可对比demos下tyadmin_demo_finish项目找自己的不同,以及查看[QA环节](#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
```diff
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
```diff
INSTALLED_APPS = [
'captcha',
'tyadmin_api_cli',
+ 'tyadmin_api'
]
# 方便拷贝
'tyadmin_api'
```
## 5. 注册首页路由,api路由
./tyadmin_demo/urls.py
```diff
+ 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 路径
```diff
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生成前端页面+后端接口
```diff
+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
```diff
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](https://github.com/longyn)
# 🤟 打赏
很高兴我的项目代码或许对你有帮助,请我吃包辣条或喝瓶可乐吧!
微信打赏:
![mark](http://myphoto.funpython.cn/blog/180302/i52eHgilfD.png?imageslim)
# 🔑 License
[MIT](https://github.com/go-admin-team/go-admin/blob/master/LICENSE.md)
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自动生成下拉多选菜单或穿梭框
![](http://cdn.pic.funpython.cn/blog_img/20201202214922.png)
![](http://cdn.pic.funpython.cn/blog_img/20201202214936.png)
没有合适的资源?快使用搜索试试~ 我知道了~
支持Python39Django4 类似 xadmin 的基于Model 快速生成前后台管理增删改查筛选搜索的后台管.zip
共1360个文件
js:922个
jsx:159个
py:89个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 187 浏览量
2024-11-26
09:24:01
上传
评论
收藏 48.28MB ZIP 举报
温馨提示
重点:所有项目都有sql文件,比其他博主项目要严谨一万倍所有项目本人亲自测试可运行使用!!有任何问题私我解决! 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 求注关 所有9.9的项目,企业项目都有SQL文件,购买后运行部署可联系包你满意。不容易啊,谢谢大家支持!!
资源推荐
资源详情
资源评论
收起资源包目录
支持Python39Django4 类似 xadmin 的基于Model 快速生成前后台管理增删改查筛选搜索的后台管.zip (1360个子文件)
demos\tyadmin_demo_finish\static\tyadmin\umi.f54e9ccd.css 321KB
demos\tyadmin_demo_finish\static\tyadmin\vendors~p__AutoGenPage__CategoryList~p__AutoGenPage__DemoDefaultModelList~p__AutoGenPage__DemoForeig~65b2351c.ba28c9b7.chunk.css 129KB
demos\tyadmin_demo_finish\static\tyadmin\vendors~p__AutoGenPage__CategoryList~p__AutoGenPage__DemoDefaultModelList~p__AutoGenPage__DemoForeig~da0b6364.d5803660.chunk.css 19KB
demos\tyadmin_demo_finish\static\tyadmin\vendors~p__TyAdminBuiltIn__TyAdminEmailVerifyRecordList.d3cf12f7.chunk.css 9KB
demos\tyadmin_demo_finish\static\tyadmin\25.4755df5a.chunk.css 5KB
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__ChangePassword.b457d9ba.chunk.css 5KB
demos\tyadmin_demo_finish\static\tyadmin\26.b457d9ba.chunk.css 5KB
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__DashBoard.56879421.chunk.css 3KB
demos\tyadmin_demo_finish\static\tyadmin\layouts__BasicLayout.ed8275b2.chunk.css 3KB
demos\tyadmin_demo_finish\static\tyadmin\layouts__UserLayout.d1082123.chunk.css 941B
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__TyAdminEmailVerifyRecordList.7dcf331f.chunk.css 749B
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__UserLogin.da891d57.chunk.css 676B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__PermissionList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__TyAdminSysLogList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__UserProfileList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__RichTextDemoList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoModelRequireList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__GroupList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoDefaultModelList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__TagsList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoForeignKeyList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__CategoryList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoModelList.bfaa3a44.chunk.css 73B
demos\tyadmin_demo_finish\Pipfile 246B
demos\tyadmin_demo_finish\static\tyadmin\CNAME 22B
demos\tyadmin_demo_finish\tyadmin\public\CNAME 22B
demos\tyadmin_demo_finish\tyadmin\src\components\MenuDragSortTree\bak 2KB
tyadmin_api_cli\antd_full_templates\src\pages\document.ejs 6KB
demos\tyadmin_demo_finish\tyadmin\src\pages\document.ejs 6KB
.git\config 315B
.git\description 73B
.git\HEAD 23B
.git\index 177KB
.git\info\exclude 240B
.git\logs\HEAD 203B
.git\logs\refs\heads\master 203B
.git\logs\refs\remotes\origin\HEAD 203B
.git\packed-refs 187B
.git\refs\heads\master 41B
.git\refs\remotes\origin\HEAD 32B
.gitattributes 491B
.gitignore 953B
demos\tyadmin_demo_finish\templates\TyAdmin\index.html 7KB
demos\tyadmin_demo_finish\static\tyadmin\index.html 7KB
.git\objects\pack\pack-7914524b8c3b822d6abc218a0cfa6d1034c69d27.idx 314KB
MANIFEST.in 58B
demos\tyadmin_demo_init\media\funpy.jpeg 2KB
demos\tyadmin_demo_init\media\funpy_dsWgUH7.jpeg 2KB
demos\tyadmin_demo_finish\media\funpy_dsWgUH7.jpeg 2KB
demos\tyadmin_demo_finish\media\funpy.jpeg 2KB
demos\tyadmin_demo_finish\media\funpy_RRKdE2w.jpeg 2KB
demos\tyadmin_demo_init\media\2020-11-30-fcbe0e2e-3909-4ad5-a5a5-69bc57fbaf9f-funpy.jpeg 2KB
demos\tyadmin_demo_init\media\funpy_RRKdE2w.jpeg 2KB
demos\tyadmin_demo_finish\media\2020-11-30-fcbe0e2e-3909-4ad5-a5a5-69bc57fbaf9f-funpy.jpeg 2KB
demos\tyadmin_demo_finish\media\2020-11-30-f44ec51b-7709-43eb-b2bf-4b774c10956d-logo.jpg 30KB
demos\tyadmin_demo_finish\media\logo.jpg 30KB
demos\tyadmin_demo_init\media\logo.jpg 30KB
demos\tyadmin_demo_init\media\2020-11-30-f44ec51b-7709-43eb-b2bf-4b774c10956d-logo.jpg 30KB
demos\tyadmin_demo_finish\static\tyadmin\umi.34ea0581.js 2.51MB
demos\tyadmin_demo_finish\static\tyadmin\26.07f7600e.async.js 1.21MB
demos\tyadmin_demo_finish\static\tyadmin\vendors~p__TyAdminBuiltIn__TyAdminEmailVerifyRecordList.7bb4ccc0.async.js 1.04MB
demos\tyadmin_demo_finish\static\tyadmin\2.44d5a955.async.js 825KB
demos\tyadmin_demo_finish\static\tyadmin\vendors~p__AutoGenPage__CategoryList~p__AutoGenPage__DemoDefaultModelList~p__AutoGenPage__DemoForeig~65b2351c.01184085.async.js 341KB
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__TyAdminEmailVerifyRecordList.af9504b6.async.js 27KB
demos\tyadmin_demo_finish\tyadmin\src\utils\utils.js 26KB
tyadmin_api_cli\antd_full_templates\src\utils\utils.js 26KB
demos\tyadmin_demo_finish\static\tyadmin\25.e809f79d.async.js 23KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__UserProfileList.f99c5a66.async.js 23KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__RichTextDemoList.87cfa4e3.async.js 22KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoModelList.fb80beea.async.js 17KB
demos\tyadmin_demo_finish\static\tyadmin\layouts__UserLayout.1c95272c.async.js 16KB
demos\tyadmin_demo_finish\static\tyadmin\vendors~p__AutoGenPage__CategoryList~p__AutoGenPage__DemoDefaultModelList~p__AutoGenPage__DemoForeig~da0b6364.883dfc86.async.js 15KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__GroupList.ee5cff0e.async.js 15KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoForeignKeyList.52dcca86.async.js 14KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__PermissionList.7030b22a.async.js 13KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoDefaultModelList.879e9790.async.js 13KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__CategoryList.25751aad.async.js 13KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__TagsList.0ce1660f.async.js 12KB
demos\tyadmin_demo_finish\static\tyadmin\p__AutoGenPage__DemoModelRequireList.5a35570d.async.js 12KB
demos\tyadmin_demo_finish\static\tyadmin\layouts__BasicLayout.19e495dd.async.js 11KB
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__TyAdminSysLogList.feaf5b4f.async.js 11KB
demos\tyadmin_demo_finish\static\tyadmin\27.438c513b.async.js 10KB
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__UserLogin.3986ddcf.async.js 8KB
demos\tyadmin_demo_finish\static\tyadmin\p__TyAdminBuiltIn__ChangePassword.ee3cf6e0.async.js 8KB
tyadmin_api_cli\antd_full_templates\src\components\Ellipsis\index.js 7KB
demos\tyadmin_demo_finish\tyadmin\src\components\Ellipsis\index.js 7KB
demos\tyadmin_demo_finish\static\tyadmin\199.6e81f7d0.async.js 5KB
demos\tyadmin_demo_finish\static\tyadmin\198.706bc84a.async.js 5KB
tyadmin_api_cli\antd_full_templates\mock\listTableList.js 5KB
demos\tyadmin_demo_finish\tyadmin\mock\listTableList.js 5KB
demos\tyadmin_demo_finish\static\tyadmin\647.f80260b4.async.js 4KB
demos\tyadmin_demo_finish\tyadmin\src\utils\utils.test.js 4KB
tyadmin_api_cli\antd_full_templates\src\utils\utils.test.js 4KB
demos\tyadmin_demo_finish\tyadmin\mock\user.js 3KB
tyadmin_api_cli\antd_full_templates\mock\user.js 3KB
tyadmin_api_cli\antd_full_templates\src\locales\en-US\settings.js 3KB
demos\tyadmin_demo_finish\tyadmin\src\locales\en-US\settings.js 3KB
demos\tyadmin_demo_finish\tyadmin\config\routes.js 3KB
demos\tyadmin_demo_finish\static\tyadmin\328.8f99e397.async.js 3KB
demos\tyadmin_demo_finish\tyadmin\mock\notices.js 3KB
共 1360 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
学习开源项目成就精彩人生
- 粉丝: 1317
- 资源: 2604
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功