這邊聲明一下,以下是參考官方文檔來的。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設、網(wǎng)站重做改版、上饒網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、html5、商城網(wǎng)站制作、集團公司官網(wǎng)建設、外貿網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為上饒等各大城市提供網(wǎng)站開發(fā)制作服務。新建名為dimples的django項目
在其中建立一個名為astart的APP:
# 新建目錄mkdir dimplescd dimples
virtualenv envenv\Scripts\activate
pip install django pip install djangorestframework
django-admin.py startproject dimples . cd dimples django-admin.py startapp astart cd ..
python manage.py migrate
python manage.py createsuperuser
首先創(chuàng)建一個文件dimples/astart/serializers.py來編寫序列化相關的代碼:
from django.contrib.auth.models import User, Groupfrom rest_framework import serializersclass UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ('url', 'username', 'email', 'groups')class GroupSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Group fields = ('url', 'name')
HyperlinkedModelSerializer: 建立超鏈接關系。
編寫視圖文件
from django.contrib.auth.models import User, Groupfrom rest_framework import viewsetsfrom dimples.astart.serializers import UserSerializer, GroupSerializerclass UserViewSet(viewsets.ModelViewSet): """ 查看、編輯用戶的界面 """ queryset = User.objects.all().order_by('-date_joined') serializer_class = UserSerializerclass GroupViewSet(viewsets.ModelViewSet): """ 查看、編輯組的界面 """ queryset = Group.objects.all() serializer_class = GroupSerializer
ViewSets:封裝許多常見的操作,減少重復代碼。 保持代碼的簡潔以及邏輯的清晰。
from django.conf.urls import url, includefrom rest_framework import routersfrom dimples.astart import views router = routers.DefaultRouter() router.register(r'users', views.UserViewSet) router.register(r'groups', views.GroupViewSet)# 使用URL路由來管理我們的API# 另外添加登錄相關的URLurlpatterns = [ url(r'^', include(router.urls)), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) ]
使用了ViewSets可以通過使用Router類來自動生成URL配置信息。
啟用分頁功能 以及 只有管理員能訪問
INSTALLED_APPS = ( ... 'rest_framework', ) REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',), 'PAGE_SIZE': 10}
Terminal中輸入
python ./manage.py runserver
使用命令行工具訪問API
http -a dimples:111111 http://127.0.0.1:8000/users/
(venv) C:\Users\Administrator\PycharmProjects\dimples>http -a dimples:111111 http://127.0.0.1:8000/user/HTTP/1.0 200 OKAllow: GET, HEAD, OPTIONS Content-Length: 91Content-Type: application/jsonDate: Wed, 20 Sep 2017 11:31:17 GMTServer: WSGIServer/0.1 Python/2.7.13Vary: Accept, Cookie X-Frame-Options: SAMEORIGIN { "groups": "http://127.0.0.1:8000/user/groups/", "users": "http://127.0.0.1:8000/user/users/"}
確保登錄狀態(tài)下打開瀏覽器 127.0.0.1:8000/users/
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。