重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下Django rest framework的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
汉南ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!具体如下。
Django REST框架是构建Web API的强大而灵活的工具包。
您可能希望使用REST框架的一些原因:
Web浏览的API是您的开发人员的巨大的可用性胜利。
验证策略包括OAuth2a和OAuth3的包。
支持ORM和非ORM数据源的序列化。
如果不需要功能更强大的功能,可以自定义一切 - 只需使用基于功能的常规视图。
广泛的文档和极好的社区支持。
由Mozilla,Red Hat,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
Install using pip, including any optional packages you want…
pip install djangorestframework pip install markdown # Markdown support for the browsable API. pip install django-filter # Filtering support
Add'rest_framework'to your INSTALLED_APPS setting.
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”。 您可以在Django 1.9+中省略命名空间,REST框架将为您设置。
Example
我们来看一下使用REST框架构建一个简单的模型支持的API的一个简单例子。
我们将创建一个读写API来访问我们项目用户的信息。
REST框架API的任何全局设置都保存在名为REST_FRAMEWORK的单个配置字典中。 首先将以下内容添加到settings.py模块中:
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' ] }
不要忘了确保你还在你的INSTALLED_APPS中添加了rest_framework。
我们已经准备好创建我们的API了。 这是我们项目的根urls.py模块:
from django.conf.urls import url, include from django.contrib.auth.models import User from rest_framework import routers, serializers, viewsets #Serializers定义API表示。 class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ('url', 'username', 'email', 'is_staff') #ViewSets定义视图行为。 class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer #路由器提供了一种自动确定URL conf的简单方法。 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。 如果您使用右上角的登录控件,您还可以从系统添加,创建和删除用户。
以上是“Django rest framework的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。