All Projects → mtianyan → Django Antd Tyadmin

mtianyan / Django Antd Tyadmin

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

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Django Antd Tyadmin

Awesome Django
Repository mirror of GitLab: https://gitlab.com/rosarior/awesome-django This repository is not monitored for issues, use original at GitLab.
Stars: ✭ 8,527 (+4886.55%)
Mutual labels:  django, django-rest-framework, django-admin
Django Material Admin
Material design for django administration
Stars: ✭ 163 (-4.68%)
Mutual labels:  django, django-admin, admin
Django Practice Book
《Django企业开发实战》已出版
Stars: ✭ 251 (+46.78%)
Mutual labels:  django, django-rest-framework, django-admin
Django Cruds Adminlte
django-cruds is simple drop-in django app that creates CRUD for faster prototyping
Stars: ✭ 373 (+118.13%)
Mutual labels:  django, django-admin, admin
Django Admin Bootstrap
Responsive Theme for Django Admin With Sidebar Menu
Stars: ✭ 787 (+360.23%)
Mutual labels:  django, django-admin, admin
Awesome Django
The Best Django Resource, Awesome Django for mature packages.
Stars: ✭ 591 (+245.61%)
Mutual labels:  django, django-rest-framework, django-admin
django-restful-admin
Django admin restful api
Stars: ✭ 51 (-70.18%)
Mutual labels:  admin, django-rest-framework, django-admin
Django Admin Numeric Filter
Numeric filters for Django admin
Stars: ✭ 46 (-73.1%)
Mutual labels:  django, django-admin, admin
Crudl Example Django
CRUDL with Django, DRF/Graphene and SQLite
Stars: ✭ 113 (-33.92%)
Mutual labels:  django, django-rest-framework, admin
Rest Api Basics
This is a basic guide on how to build a REST API with Django & Python. For much deeper depth, check out our new course on REST API: (https://kirr.co/90kxtx)
Stars: ✭ 171 (+0%)
Mutual labels:  django, django-rest-framework
Django Structlog
Structured Logging for Django
Stars: ✭ 127 (-25.73%)
Mutual labels:  django, django-rest-framework
Django Polymorphic Tree
Polymorphic MPTT tree support for models
Stars: ✭ 152 (-11.11%)
Mutual labels:  django, django-admin
Django Microservices
UNMAINTAINED
Stars: ✭ 124 (-27.49%)
Mutual labels:  django, django-rest-framework
Django Trench
django-trench provides a set of REST API endpoints to supplement django-rest-framework with multi-factor authentication (MFA, 2FA). It supports both standard built-in authentication methods, as well as JWT (JSON Web Token).
Stars: ✭ 123 (-28.07%)
Mutual labels:  django, django-rest-framework
Django Business Logic
Visual DSL framework for django
Stars: ✭ 134 (-21.64%)
Mutual labels:  django, django-admin
Lpoj
An open source online judge system base on Django REST framework and Vue.js !
Stars: ✭ 122 (-28.65%)
Mutual labels:  django, django-rest-framework
Django Subadmin
A special kind of ModelAdmin that allows it to be nested within another ModelAdmin
Stars: ✭ 120 (-29.82%)
Mutual labels:  django, django-admin
Django Vue Admin
基于RBAC模型权限控制的中小型应用的基础开发平台,前后端分离,后端采用django+django-rest-framework,前端采用vue+ElementUI,移动端采用uniapp+uView(可发布h5和小程序).
Stars: ✭ 157 (-8.19%)
Mutual labels:  django, django-rest-framework
Django Grpc Framework
gRPC for Django.
Stars: ✭ 162 (-5.26%)
Mutual labels:  django, django-rest-framework
Django Admin Autocomplete Filter
A simple Django app to render list filters in django admin using autocomplete widget.
Stars: ✭ 166 (-2.92%)
Mutual labels:  django, django-admin

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

🎬 在线体验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项目安装依赖

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. 如何运行生成的前端独立项目

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的不会出现在表单

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].