一个可重用的django应用程序,用于基于模型自动构建rest api。

django-autorest的Python项目详细描述


自动测试

https://travis-ci.org/gregschmit/django-autorest.svg?branch=masterPyPIhttps://coveralls.io/repos/github/gregschmit/django-autorest/badge.svg?branch=masterDocumentation Status

文档: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表单(可能是生成器)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联