简介
基于restful协议的框架有很多,Django下的restframework只是其中的一种,restful协议是一套开发的规范,url里不能有动作相关的词汇,比如add,edit,这些都通过用请求的方式来实现。
它是基于Django的,帮助我们快速开发符合RESTful规范的接口框架。
配置
- pip install djangorestframework
- INSTALLED_APPS = (
...
'rest_framework',
)
- from rest_framework import routers, serializers, viewset
路由配置
项目层:
from django.contrib import admin
from django.conf.urls import url, include
from rest_framework_jwt.views import obtain_jwt_token
from users import views
from rest_framework.documentation import include_docs_urls
urlpatterns = [
url(r'^api/admin/', admin.site.urls),
url(r'^api/user/', include('users.urls')), #引入app层的路由文件
url(r'^api/proje/', include('proje.urls')),
url(r'^api/application/', include('application.urls')),
url(r'^api/kube/', include('kube.urls')),
url(r'^api/user/sourcelist/$', views.SourceListView.as_view()), # 功能列表
url(r'^api/user/rlist/$', views.RListView.as_view()), # 模块名列表
url(r'^api/docs/', include_docs_urls(title='My API title')), # 接口文档
]
app层:
from django.conf.urls import url
from . import views
from rest_framework.routers import DefaultRouter
# urlpatterns是被django自动识别的路由列表变量
app_name = 'proje'
router = DefaultRouter() # 可以处理视图的路由器
router.register(r'logs', views.LogManageModelViewSet)
router.register(r'temps', views.TempModelViewSet)
router.register(r'projects', views.ProjectModelViewSet)
urlpatterns = [
]
urlpatterns += router.urls