一个可重用的django应用程序,用于基于模型自动构建rest api。
django-autorest的Python项目详细描述
自动测试
文档:https://django-autorest.readthedocs.io
来源:https://github.com/gregschmit/django-autorest
PYPI:https://pypi.org/project/django-autorest/
autorest是一个可重用的django应用程序,用于从模型定义构建restapi 和(可选的)admin.py定义。
问题:为模型构建api很无聊。
解决方案:此应用程序为您构建它们,可以选择使用您的管理员站点 作为指导,你可以专注于定制的东西。
如何使用
$ pip install django-autorest
在INSTALLED_APPS中包含autorest。
设置
- AUTOREST_ADMIN_SITE(默认值'django.contrib.admin.site'):这是 导入字符串到管理站点,其中autorest可以获得有关 应配置API(例如,列表显示字段、编辑字段、只读 字段等)。要完全禁用此功能,只需将其设置为False。
- AUTOREST_DEFAULT_USE_ADMIN_SITE(默认值False):是否默认值 模型功能应该是从admin.py获取配置提示。
- AUTOREST_DEFAULT_ENABLE(默认值:True):api视图集/url是否 应该为在 AUTOREST_CONFIG。如果这个选项是False,那么只有在 AUTOREST_CONFIG将为它们生成url。
- AUTOREST_CONFIG默认值:
{'auth':{'Group':{'use_admin_site':True,},'User':{'viewset':'autorest.sample_user_viewset.UserViewSet',},},}
AUTOREST_CONFIG选项:
- use_admin_site:是否使用管理站点来构建api。
- serializer:序列化程序实例的导入字符串。
- list_serializer:序列化程序实例的导入字符串(通常
- 在列表中提供较少的字段。
- viewset:此模型的完整视图集的导入字符串。
贡献
如果你想投稿,请发电子邮件给gschmi4@uic.edu。你只能贡献代码 你已经创作或以其他方式拥有版权,并且你必须 在麻省理工学院的许可下为这个项目做任何贡献。
对协作者:不要使用--force选项进行推送。
开发快速启动
autorest附带一个settings.py文件,从技术上讲,它是一个django 项目以及django应用程序。首先,将存储库克隆到 您的选择:
$ git clone https://github.com/gregschmit/django-autorest
然后您可以进入django-autorest目录并执行 迁移并运行服务器(您可能需要键入python3,而不是 python):
$ cd django-autorest
$ python manage.py migrate
$ python manage.py createsuperuser
...
$ python manage.py runserver
然后您可以在http://127.0.0.1:8000/api/看到api。
待办事项
- 基于admin.py配置构建终结点(这应该是可选的,使用settings.py开关,如AUTOREST_USE_ADMIN_PY) -现在,像auth.Group这样的简单模型可以工作,但是像auth.User这样的复杂模型不能工作,因为create api端点应该接受密码/确认,而不是原始密码散列。
- 为端点构建crud表单(可能是生成器)