Skip to content

Commit 9a1ea70

Browse files
committed
v0.8 release
1 parent 769dbbf commit 9a1ea70

File tree

950 files changed

+4060
-1775
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

950 files changed

+4060
-1775
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
## 0.8.0 (2020-12-01)
2+
3+
#### Bug Fixes
4+
5+
- 修复图片显示
6+
7+
#### Features / Enhancement
8+
9+
- 合并app级别菜单生成
10+
- 支持直接生成,不需要启动一个前端服务
11+
- 权限定义宽度
12+
113
## 0.7.2 (2020-12-01)
214

315
#### Bug Fixes

README.md

Lines changed: 156 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,69 @@
1-
# TyAdmin 基于Django Restful Framework 和 Antd Design Pro V4 的基于Models 的 **No Code** 零代码零学习成本管理后台前后端生成工具。
1+
# TyAdmin: Django 基于Models 的 **No Code** 零代码零学习成本管理后台前后端生成工具, 由Django Restful Framework 和 Antd Design Pro V4 驱动
22

33
![](https://img.shields.io/pypi/v/tyadmin-api-cli)
44
![](https://img.shields.io/pypi/wheel/tyadmin-api-cli)
55

6-
线上demo地址: https://tyadmin.funpython.cn/xadmin 账号: tyadmin 密码: tyadmin
6+
## 🎬 在线体验Demo
77

8-
TyAdmin: 只需要花五分钟按着README中快速上手配置,无额外文档,无框架学习成本,零代码,全自动!更强大!更现代化!功能更多!
8+
>账号: tyadmin 密码: tyadmin
9+
10+
演示地址: https://tyadmin.funpython.cn/xadmin
11+
12+
**No Code!!! 一行代码都不写,就能拥有的现代化后台管理**
13+
14+
TyAdmin: 只需要花五分钟阅读README即可快速上手,无额外文档,无框架学习成本,不用自己写一行代码,全自动的后台,你值得拥有!
15+
16+
📨 互动交流反馈QQ群: 304094780
17+
18+
[直接上手](#快速上手)
19+
20+
# ✨ 特性
921

1022
0. 自动生成前后端管理后台,页面接口神奇全自动对接。登录验证,修改密码,Dashboard数据统计。
1123
1. 一次拥有 **增删改查,筛选,搜索,数据全量导出,选择导出**
12-
2. 外键字段,多对多字段,富文本,文件,图片,django自带权限系统,
13-
3. 已兼容第三方 django-celery-beat 后台管理
24+
2. 外键字段,多对多字段,富文本,文件,图片,django自带权限系统
25+
26+
只需要设计好Model,在settings中配置需要生成哪些model,运行一条命令`python manage.py init_admin && python manage.py gen_all`
27+
28+
>后端代码生成一个django app到项目目录, 只需注册一下, 无需再写一行代码! 代码归你掌控,无阻二次开发!
29+
>前端生成一个完整的Antd design pro V4项目,只需启动一次,无需再写一行代码! 代码归你掌控,无阻二次开发!
30+
31+
前端页面,后端接口,路由,菜单全部自动对接,你只需要拷贝文档,修改配置,不需要写一行代码!!
32+
33+
🎁 内置
1434

15-
## 多种登录方式
35+
## 1. 多种登录方式
1636

1737
![](http://cdn.pic.mtianyan.cn/blog_img/20201130234228.png)
1838

19-
## 内嵌自动dashboard,自动注册现有model count 数据。
39+
## 2. 内嵌自动dashboard,自动注册现有model count 数据。
2040

2141
![](http://cdn.pic.mtianyan.cn/blog_img/20201130234054.png)
2242

23-
## 全自动的列表展示,增删改查, 筛选,搜索,导出Excel
43+
## 3. 全自动的列表展示,增删改查, 筛选,搜索,导出Excel
2444

2545
![](http://cdn.pic.mtianyan.cn/blog_img/20201130234448.png)
2646

2747
![](http://cdn.pic.mtianyan.cn/blog_img/20201130234525.png)
2848

29-
## django自带权限组支持,外键蓝点小标记pop支持
49+
## 4. django自带权限组支持,外键蓝点小标记pop支持
3050

3151
![](http://cdn.pic.mtianyan.cn/blog_img/20201130234705.png)
3252

3353
![](http://cdn.pic.mtianyan.cn/blog_img/20201130234753.png)
3454

35-
## 基于Model定义的表单字段级别自动验证
55+
## 5. 基于Model定义的表单字段级别自动验证
3656

3757
![](http://cdn.pic.mtianyan.cn/blog_img/20201010194705.png)
3858

39-
## 内嵌富文本支持,仅需把字段定义为`richTextField`,无需任何额外集成。
59+
## 6. 内嵌富文本支持,仅需把字段定义为`richTextField`,无需任何额外集成。
4060

4161
![](http://cdn.pic.mtianyan.cn/blog_img/20201010192630.png)
4262

43-
交流反馈群: 304094780
44-
45-
只需要设计好Model,在settings中配置需要生成哪些model,运行一条命令`python manage.py init_admin && python manage.py gen_all`
46-
47-
>后端代码生成一个django app到项目目录, 只需注册一下, 无需再写一行代码! 代码归你掌控,无阻二次开发!
48-
>前端生成一个完整的Antd design pro V4项目,只需启动一次,无需再写一行代码! 代码归你掌控,无阻二次开发!
49-
50-
前端页面,后端接口,路由,菜单全部自动对接。
51-
52-
# 快速上手 (已有项目可从第二步开始,注意修改GEN_APPS 变量为自己需要生成的app列表)
63+
# 快速上手
5364

54-
>如有问题,可对比demos下tyadmin_demo_finish项目找自己的不同
65+
>已有项目可从第二步开始,注意修改GEN_APPS 变量为自己需要生成的app列表
66+
>如有问题,可对比demos下tyadmin_demo_finish项目找自己的不同,以及查看[QA环节](#QA环节)
5567
5668
### 1. 下载demo项目安装依赖
5769

@@ -64,46 +76,76 @@ pip install -r requirement.txt
6476

6577
### 2. 安装tyadmin-api-cli并注册tyadmin-api-cli
6678

67-
```
79+
```diff
6880
pip install tyadmin-api-cli
6981

7082
INSTALLED_APPS = [
83+
+ 'captcha',
84+
+ 'tyadmin_api_cli',
85+
]
86+
87+
+TY_ADMIN_CONFIG = {
88+
+ 'GEN_APPS': ['demo']
89+
+}
90+
91+
# 方便拷贝
92+
7193
'captcha',
7294
'tyadmin_api_cli',
73-
]
7495

7596
TY_ADMIN_CONFIG = {
7697
'GEN_APPS': ['demo']
7798
}
7899
```
79100

80-
GEN_APPS: 填写你想要生成的app列表。
101+
GEN_APPS: 填写你想要生成的app列表。
81102

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

105+
生成后端页面依赖,需安装Node.js -> https://www.runoob.com/nodejs/nodejs-install-setup.html
106+
107+
>安装Node.js 10以上,推荐安装版本Latest LTS Version: 12.19.0
108+
84109
```
85-
python manage.py init_admin && python manage.py gen_all
110+
python manage.py init_admin && python manage.py gen_all && cd tyadmin && npm install && npm run build
86111
```
87112

88-
### 5. 注册生成出的app
113+
>耐心等待一会,build 会输出 前端页面到templates文件夹,生成前端js,css 等到static文件夹
114+
115+
### 5. 注册生成出的django app
89116

90117
```diff
91118
INSTALLED_APPS = [
92119
'captcha',
93120
'tyadmin_api_cli',
94121
+ 'tyadmin_api'
95122
]
123+
124+
# 方便拷贝
125+
126+
'tyadmin_api'
96127
```
97128

98-
### 6. 注册路由
129+
### 6. 注册首页路由,api路由
99130

100-
demos/tyadmin_demo_complete/tyadmin_demo/urls.py
131+
./tyadmin_demo/urls.py
101132

102-
```
103-
path('api/xadmin/v1/', include('tyadmin_api.urls')),
133+
```diff
134+
+ from tyadmin_api.views import AdminIndexView
135+
136+
urlpatterns = [
137+
+ re_path('^xadmin/.*', AdminIndexView.as_view()),
138+
+ path('api/xadmin/v1/', include('tyadmin_api.urls')),
139+
]
140+
141+
# 方便拷贝
142+
from tyadmin_api.views import AdminIndexView
143+
144+
re_path('^xadmin/.*', AdminIndexView.as_view()),
145+
path('api/xadmin/v1/', include('tyadmin_api.urls')),
104146
```
105147

106-
### 7. 运行后端项目,运行前端项目
148+
### 7. 运行项目
107149

108150
```
109151
python manage.py makemigrations
@@ -112,19 +154,92 @@ python manage.py createsuperuser # 创建一个可以登入后台的用户
112154
python manage.py runserver # 默认运行在8000端口
113155
```
114156

115-
安装Node.js -> https://www.runoob.com/nodejs/nodejs-install-setup.html
157+
访问http://127.0.0.1:8000/xadmin/ 输入刚才创建的用户名密码登录
116158

117-
>安装Node.js 10以上,推荐安装版本Latest LTS Version: 12.19.0
159+
至此大功告成!
160+
161+
>如果没有成功看到页面,请查看QA部分
162+
163+
# QA环节
164+
165+
## 0. `TemplateDoesNotExist at /xadmin/ TyAdmin/index.html`
166+
167+
settings.py 中配置templates 路径
168+
169+
```diff
170+
TEMPLATES = [
171+
{
172+
'BACKEND': 'django.template.backends.django.DjangoTemplates',
173+
- 'DIRS': [],
174+
+ 'DIRS': [os.path.join(BASE_DIR, 'templates')],
175+
```
176+
## 1. 卡在loading页面,一直无法登陆
177+
178+
settings.py 中配置static 路径
179+
180+
```
181+
if DEBUG:
182+
STATICFILES_DIRS = [
183+
os.path.join(BASE_DIR, "static"),
184+
]
185+
else:
186+
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
187+
```
188+
189+
## 2. 图片没有正常显示
190+
191+
urls.py
192+
193+
```
194+
from django.views.static import serve
195+
196+
urlpatterns = [
197+
re_path('media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}),
198+
]
199+
```
200+
201+
## 3. 当项目新增了model,我该如何为新model生成前端页面+后端接口
202+
203+
```
204+
+TY_ADMIN_CONFIG = {
205+
+ 'GEN_APPS': ['demo','new_app']
206+
+}
207+
```
208+
如上GEN_APPS 中添加新app的name,然后运行下面命令
209+
210+
```
211+
python manage.py gen_all && cd tyadmin && npm run build
212+
```
213+
214+
## 4. 如何运行生成的前端独立项目
118215

119216
```
120217
cd tyadmin
121218
npm install
122219
npm run start:dev # 默认会运行在8001端口
123220
```
124221

125-
访问http://127.0.0.1:8001/xadmin/ 输入刚才创建的用户名密码登录查看系统
222+
请确认django运行在8000端口,访问http://127.0.0.1:8001/xadmin/
223+
224+
# 🤝 贡献者名单:
225+
226+
[longyn](https://github.com/longyn)
126227

127-
# 附录(随意了解一下即可)
228+
# 🤟 打赏
229+
230+
很高兴我的项目代码或许对你有帮助,请我吃包辣条或喝瓶可乐吧!
231+
232+
微信打赏:
233+
234+
![mark](http://myphoto.mtianyan.cn/blog/180302/i52eHgilfD.png?imageslim)
235+
236+
# 🔑 License
237+
238+
[MIT](https://github.com/go-admin-team/go-admin/blob/master/LICENSE.md)
239+
240+
Copyright (c) 2020 mtianyan
241+
242+
# 附录
128243

129244
## model->前端对应关系
130245

@@ -143,9 +258,13 @@ npm run start:dev # 默认会运行在8001端口
143258
| DateField| Date选择器|
144259
| DateTimeField| DateTime选择器|
145260

146-
### ForeignKey自动生成下拉单选菜单, ManyToManyField自动生成下拉多选菜单
261+
### ForeignKey自动生成下拉单选菜单, ManyToManyField自动生成下拉多选菜单或穿梭框
147262

263+
![](http://cdn.pic.mtianyan.cn/blog_img/20201202214922.png)
148264

265+
![](http://cdn.pic.mtianyan.cn/blog_img/20201202214936.png)
266+
267+
![](http://cdn.pic.mtianyan.cn/blog_img/20201202214957.png)
149268

150269
### richTextField 自动生成富文本
151270

@@ -230,4 +349,3 @@ last_login = DateTimeField(verbose_name="上次登录")
230349
![](http://cdn.pic.mtianyan.cn/blog_img/20201010195116.png)
231350

232351

233-

demos/tyadmin_demo_finish/Pipfile

Lines changed: 0 additions & 11 deletions
This file was deleted.
-12 KB
Binary file not shown.
-1.81 KB
Binary file not shown.
-1.81 KB
Binary file not shown.
-1.81 KB
Binary file not shown.
-29.5 KB
Binary file not shown.
-29.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)