Skip to content

Commit e7f3624

Browse files
committed
Revert "Update README.md"
This reverts commit 0a8e094
1 parent 3d8a24c commit e7f3624

File tree

1 file changed

+3
-214
lines changed

1 file changed

+3
-214
lines changed

README.md

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

33
![](https://img.shields.io/pypi/v/tyadmin-api-cli)
44
![](https://img.shields.io/pypi/wheel/tyadmin-api-cli)
@@ -13,11 +13,9 @@
1313

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

16-
# 🤟 快速上手
17-
1816
📨 互动交流反馈QQ群: 304094780
1917

20-
[直接上手](#快速上手)
18+
[快速上手](#快速上手)
2119

2220
# ✨ 特性
2321

@@ -150,213 +148,4 @@ path('api/xadmin/v1/', include('tyadmin_api.urls')),
150148
## 6. 运行项目
151149

152150
```
153-
python manage.py makemigrations
154-
python manage.py migrate
155-
python manage.py createsuperuser # 创建一个可以登入后台的用户
156-
python manage.py runserver # 默认运行在8000端口
157-
```
158-
159-
访问http://127.0.0.1:8000/xadmin/ 输入刚才创建的用户名密码登录
160-
161-
至此大功告成!
162-
163-
>如果没有成功看到页面,请查看QA部分
164-
165-
# QA环节
166-
167-
## 0. `TemplateDoesNotExist at /xadmin/ TyAdmin/index.html`
168-
169-
settings.py 中配置templates 路径
170-
171-
```diff
172-
TEMPLATES = [
173-
{
174-
'BACKEND': 'django.template.backends.django.DjangoTemplates',
175-
- 'DIRS': [],
176-
+ 'DIRS': [os.path.join(BASE_DIR, 'templates')],
177-
```
178-
## 1. 卡在loading页面,一直无法登陆
179-
180-
settings.py 中配置static 路径
181-
182-
```
183-
if DEBUG:
184-
STATICFILES_DIRS = [
185-
os.path.join(BASE_DIR, "static"),
186-
]
187-
else:
188-
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
189-
```
190-
191-
## 2. 图片没有正常显示
192-
193-
urls.py
194-
195-
```
196-
from django.views.static import serve
197-
198-
urlpatterns = [
199-
re_path('media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}),
200-
]
201-
```
202-
203-
## 3. 当项目新增了model,我该如何为新model生成前端页面+后端接口
204-
205-
```diff
206-
+TY_ADMIN_CONFIG = {
207-
+ 'GEN_APPS': ['demo','new_app']
208-
+}
209-
```
210-
如上GEN_APPS 中添加新app的name,然后运行下面命令
211-
212-
```
213-
python manage.py gen_all && cd tyadmin && npm run build
214-
```
215-
216-
## 4. 如何运行生成的前端独立项目
217-
218-
```
219-
cd tyadmin
220-
npm install
221-
npm run start:dev # 默认会运行在8001端口
222-
```
223-
224-
请确认django运行在8000端口,访问 http://127.0.0.1:8001/xadmin/
225-
226-
## 5. 如何更新tyadmin版本,强制覆盖上次生成
227-
228-
```
229-
TY_ADMIN_CONFIG = {
230-
'FORCED_COVER': True,
231-
}
232-
```
233-
234-
# 🤝 贡献者名单:
235-
236-
[longyn](https://github.com/longyn)
237-
238-
# 🤟 打赏
239-
240-
很高兴我的项目代码或许对你有帮助,请我吃包辣条或喝瓶可乐吧!
241-
242-
微信打赏:
243-
244-
![mark](http://myphoto.mtianyan.cn/blog/180302/i52eHgilfD.png?imageslim)
245-
246-
# 🔑 License
247-
248-
[MIT](https://github.com/go-admin-team/go-admin/blob/master/LICENSE.md)
249-
250-
Copyright (c) 2020 mtianyan
251-
252-
253-
# 附录
254-
255-
## model->前端对应关系
256-
257-
| 字段类型 | 前端展示 |
258-
| ---- | ---- |
259-
| ForeignKey | 单选 |
260-
| ManyToManyField | 多选 & 多彩标签展示 |
261-
| richTextField | 富文本展示 |
262-
| CharField or IntegerField(with choices) | 多选 |
263-
| CharField or IntegerField | 输入框 |
264-
| ImageField | 带预览上传,可选头像,图片列表展示 |
265-
| FileField | 文件上传 |
266-
| TextField | TextArea框 |
267-
| BooleanField | Switch选择|
268-
| IntegerField | 数字input|
269-
| DateField| Date选择器|
270-
| DateTimeField| DateTime选择器|
271-
272-
### ForeignKey自动生成下拉单选菜单, ManyToManyField自动生成下拉多选菜单或穿梭框
273-
274-
![](http://cdn.pic.mtianyan.cn/blog_img/20201202214922.png)
275-
276-
![](http://cdn.pic.mtianyan.cn/blog_img/20201202214936.png)
277-
278-
![](http://cdn.pic.mtianyan.cn/blog_img/20201202214957.png)
279-
280-
### richTextField 自动生成富文本
281-
282-
```
283-
detail = richTextField(verbose_name="课程详情")
284-
```
285-
286-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010193352.png)
287-
288-
### CharField和IntegerField choices 自动生成表单前端下拉选择框。
289-
290-
```python
291-
GENDER_CHOICES = (
292-
("male", ""),
293-
("female", "")
294-
)
295-
gender = CharField(verbose_name="性别",choices=GENDER_CHOICES)
296-
```
297-
298-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010190635.png)
299-
300-
### ImageField 自动生成带预览的表单上传功能,列表页可选两种展示方式。
301-
302-
```python
303-
avatar = ImageField(verbose_name="头像") # 变量名为avatar或logo的会自动为头像样式
304-
image = ImageField(verbose_name="封面图")
305-
```
306-
307-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010191641.png)
308-
309-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010191917.png)
310-
311-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010191843.png)
312-
313-
### FileField 字段生成文件上传功能。
314-
315-
```
316-
download = FileField(verbose_name="资源文件")
317-
```
318-
319-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010193041.png)
320-
321-
### TextField 自动生成前端TextArea 框
322-
323-
```python
324-
desc = TextField(verbose_name="课程描述")
325-
```
326-
327-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010192813.png)
328-
329-
### BooleanField 自动前端 Boolean 单选
330-
331-
```python
332-
is_banner = BooleanField(verbose_name="是否轮播")
333-
```
334-
335-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010193001.png)
336-
337-
### IntegerField 自动前端 Int 输入框
338-
```
339-
learn_times = IntegerField(verbose_name="学习时长(分钟数)")
340-
```
341-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010193445.png)
342-
343-
### DateField 自动前端 Date选择框
344-
345-
```
346-
birthday = DateField(verbose_name="生日")
347-
```
348-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010193614.png)
349-
350-
### DateTimeField 自动表单 DateTime 选择框,时间范围筛选器。
351-
352-
```
353-
last_login = DateTimeField(verbose_name="上次登录")
354-
```
355-
356-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010193852.png)
357-
358-
>注意设置了default,auto_now的不会出现在表单
359-
360-
![](http://cdn.pic.mtianyan.cn/blog_img/20201010195116.png)
361-
362-
151+
python manage.py

0 commit comments

Comments
 (0)