django的webapi,很简单。
djangorestframework的Python项目详细描述
Django REST framework
awesome web可浏览web api。
该项目的完整文档可在https://www.django-rest-framework.org/获得。
资金
rest框架是一个合作资助的项目。如果你使用 rest框架商业化我们强烈鼓励您投资于 由signing up for a paid plan继续开发。
最初的目标是在rest框架上提供一个单独的全职职位。 每次注册都会对实现这一点产生重大影响。
非常感谢我们所有的wonderful sponsors,特别是我们的优质支持者,Sentry,Stream,Rollbar,Cadre,Kloudless,ESG,和Lights On Software。
概述
Django REST框架是构建Web API的强大而灵活的工具。
您可能希望使用rest框架的一些原因:
- 对于开发人员来说,Web browsable API是一个巨大的可用性胜利。
- Authentication policies包括OAuth1a和OAuth2的可选包。
- Serialization同时支持ORM和non-ORM数据源。
- 一路上都可以定制-如果不需要morepowerfulfeatures,只需使用regular function-based views。
- Extensive documentation,和great community support。
有一个用于测试目的的实时示例api,available here。
下面:可浏览api的屏幕截图
我们强烈推荐,并仅正式支持
每个python和django系列。 使用 将 让我们看一个使用rest框架构建简单的模型支持api以访问用户和组的快速示例。 像这样启动一个新项目… 现在编辑项目中的 我们还想为我们的api配置一些设置。 在 就这样,我们完了! 现在您可以在浏览器中的 还可以使用命令行工具(如^{ 或创建新用户: 该项目的完整文档可在https://www.django-rest-framework.org/获得。 有关问题和支持,请在freenode irc上使用REST framework discussion group,或 您可能还想follow the author on Twitter。要求
安装
pip
安装…pip install djangorestframework
'rest_framework'
添加到INSTALLED_APPS
设置中。INSTALLED_APPS = [
...
'rest_framework',
]
示例
pip install django
pip install djangorestframework
django-admin startproject example .
./manage.py migrate
./manage.py createsuperuser
example/urls.py
模块:fromdjango.conf.urlsimporturl,includefromdjango.contrib.auth.modelsimportUserfromrest_frameworkimportserializers,viewsets,routers# Serializers define the API representation.classUserSerializer(serializers.HyperlinkedModelSerializer):classMeta:model=Userfields=['url','username','email','is_staff']# ViewSets define the view behavior.classUserViewSet(viewsets.ModelViewSet):queryset=User.objects.all()serializer_class=UserSerializer# Routers provide a way of automatically determining the URL conf.router=routers.DefaultRouter()router.register(r'users',UserViewSet)# Wire up our API using automatic URL routing.# Additionally, we include login URLs for the browsable API.urlpatterns=[url(r'^',include(router.urls)),url(r'^api-auth/',include('rest_framework.urls',namespace='rest_framework'))]
settings.py
模块中添加以下内容:INSTALLED_APPS=[...# Make sure to include the default installed apps here.'rest_framework',]REST_FRAMEWORK={# Use Django's standard `django.contrib.auth` permissions,# or allow read-only access for unauthenticated users.'DEFAULT_PERMISSION_CLASSES':['rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly']}
./manage.py runserver
http://127.0.0.1:8000/
打开api,并查看新的“用户”api。如果使用右上角的Login
控件,您还可以在系统中添加、创建和删除用户。$ curl -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
[
{
"url": "http://127.0.0.1:8000/users/1/",
"username": "admin",
"email": "admin@example.com",
"is_staff": true,
}
]
$ curl -X POST -d username=new -d email=new@example.com -d is_staff=false -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
{
"url": "http://127.0.0.1:8000/users/2/",
"username": "new",
"email": "new@example.com",
"is_staff": false,
}
文档和支持
#restframework
。安全性
推荐PyPI第三方库