Django rest framework基本介绍与代码示例
本文研究的主要是Djangorestframework的相关内容,分享了example,具体如下。
DjangoREST框架是构建WebAPI的强大而灵活的工具包。
您可能希望使用REST框架的一些原因:
- Web浏览的API是您的开发人员的巨大的可用性胜利。
- 验证策略包括OAuth1a和OAuth2的包。
- 支持ORM和非ORM数据源的序列化。
- 如果不需要功能更强大的功能,可以自定义一切-只需使用基于功能的常规视图。
- 广泛的文档和极好的社区支持。
- 由Mozilla,RedHat,Heroku和Eventbrite等国际知名公司使用和信赖。
Requirements
REST框架需要以下内容:
- Python(2.7,3.2,3.3,3.4,3.5)
- Django(1.8,1.9,1.10)
以下软件包是可选的:
- coreapi(1.32.0+)-支持模式生成。
- Markdown(2.1.0+)-可浏览API的Markdown支持。
- django-filter(1.0.1+)-过滤支持。
- django-crispy-forms-改进的HTML显示过滤。
- django-guardian(1.1.1+)-对象级权限支持。
Installation
Installusingpip,includinganyoptionalpackagesyouwant…
pipinstalldjangorestframework pipinstallmarkdown#MarkdownsupportforthebrowsableAPI. pipinstalldjango-filter#Filteringsupport
Add'rest_framework'toyourINSTALLED_APPSsetting.
INSTALLED_APPS=( ... 'rest_framework', )
如果您打算使用可浏览的API,您可能还需要添加REST框架的登录和注销视图。将以下内容添加到您的根urls.py文件中。
urlpatterns=[ ... url(r'^api-auth/',include('rest_framework.urls',namespace='rest_framework')) ]
请注意,URL路径可以是任何您想要的,但您必须在rest_framework的命名空间中包含“rest_framework.urls”。您可以在Django1.9+中省略命名空间,REST框架将为您设置。
Example
我们来看一下使用REST框架构建一个简单的模型支持的API的一个简单例子。
我们将创建一个读写API来访问我们项目用户的信息。
REST框架API的任何全局设置都保存在名为REST_FRAMEWORK的单个配置字典中。首先将以下内容添加到settings.py模块中:
REST_FRAMEWORK={ #UseDjango'sstandard`django.contrib.auth`permissions, #orallowread-onlyaccessforunauthenticatedusers. 'DEFAULT_PERMISSION_CLASSES':[ 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ] }
不要忘了确保你还在你的INSTALLED_APPS中添加了rest_framework。
我们已经准备好创建我们的API了。这是我们项目的根urls.py模块:
fromdjango.conf.urlsimporturl,include fromdjango.contrib.auth.modelsimportUser fromrest_frameworkimportrouters,serializers,viewsets #Serializers定义API表示。 classUserSerializer(serializers.HyperlinkedModelSerializer): classMeta: model=User fields=('url','username','email','is_staff') #ViewSets定义视图行为。 classUserViewSet(viewsets.ModelViewSet): queryset=User.objects.all() serializer_class=UserSerializer #路由器提供了一种自动确定URLconf的简单方法。 router=routers.DefaultRouter() router.register(r'users',UserViewSet) #使用自动网址路由连接我们的API。 #另外,我们还包括可浏览的API的登录URL。 urlpatterns=[ url(r'^',include(router.urls)), url(r'^api-auth/',include('rest_framework.urls',namespace='rest_framework'))
您现在可以在http://127.0.0.1:8000/浏览器中打开该API,并查看新的“用户”API。如果您使用右上角的登录控件,您还可以从系统添加,创建和删除用户。
总结
以上就是本文关于Djangorestframework基本介绍的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!