django-rest-tsgTypeScript 代码生成器
django-rest-tsg 是一个用于 Django REST Framework 的 TypeScript 代码生成器。
支持从以下 Python 类型生成相应的 TypeScript 代码。
- Django REST Framework 的序列化类:手工编写的序列化类(Serializer)、模型生成的序列化类(ModelSerializer)、数据类生成的序列化类(DataclassSerializer)
- Python 的数据类:dataclasses.dataclass 修饰的类
- Python 的枚举类:enum.Enum 的子类
并且支持上述类型的复合、嵌套类型的依赖处理。
安装
可直接从 PyPI 下载安装
$ pip install django_rest_tsg
使用
在 Django 项目的根目录中添加名为 tsgconfig.py
的配置文件。通过 BUILD_DIR
设置生成 TypeScript 代码文件的目录。在 BUILD_TASKS
列表中用 build
函数设置生成任务,参数分别为生成任务的源类型、生成目录和其他配置。
from django.conf import settings
from django_rest_tsg.build import build
BUILD_DIR = settings.BASE_DIR / 'app/src/core'
BUILD_TASKS = [
build(Foo),
build(BarSerializer, 'app/src/app/core', {'alias': 'Foobar'}),
]
把 django_rest_tsg
添加到 Django 配置文件中的 INSTALLED_APPS
列表中。
INSTALLED_APPS = [
...
'django_rest_tsg'
]
运行 manage.py
上的 buildtypescript
命令即可向预定目录生成相应的 TypeScript 代码。
$ python manage.py buildtypescript
评论