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评论
