摘要:之前剛學時硬生生使用了靜態資源和接口分離的方法,實際使用中肯定會非常不方便。于是發現了用于前后端分離,編寫后臺的框架。
之前剛學django時硬生生使用了靜態資源和接口分離的方法,實際使用中肯定會非常不方便。于是發現了用于前后端分離,編寫后臺API的REST framework框架。這里做初步嘗試
官方文檔看起來非常入門
本次實踐主要是根據官方文檔步驟進行初步實踐,其中加入一些自己學習時理解的注釋,不能保證翻譯正確,所有的參考鏈接都放在文末吧。
但是!學習過程中發現兩處引用模塊官網有誤!代碼中會標注出來
官方文檔地址先放:
http://www.django-rest-framew...
首先是安裝django和djangorestframework
pip install django pip install djangorestframework
多數人都應該安裝好了吧
根據按官網demo安裝應用
django-admin.py startproject tutorial django-admin.py startapp quickstart
然后是數據庫遷移
python manage.py migrate
接著創建管理員頁面和用戶
python manage.py createsuperuser --email admin@example.com --username admin二、Serializer(序列化器)配置
定義一些配置,創建一個tutorial/quickstart/serializers.py模塊,編寫如下代碼
from django.contrib.auth.models import User, Group #引入django身份驗證機制User模塊和Group模塊 from rest_framework import serializers #引入rest framework的serializers class UserSerializer(serializers.HyperlinkedModelSerializer): #繼承超鏈接模型解析器 class Meta: model = User #使用User model fields = ("url", "username", "email", "groups") #設置字段 class GroupSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Group #使用Group model fields = ("url", "name")三、視圖配置
在tutorial/quickstart/views.py編寫如下代碼(render都可以注釋掉了???)
這里有一處官網引入模塊錯誤
#from django.shortcuts import render from django.contrib.auth.models import User, Group #引入model from rest_framework import viewsets #引入viewsets,類似controllers # from tutorial.quickstart.serializers import UserSerializer, GroupSerializer 官網模塊引入寫法,有誤 from quickstart.serializers import UserSerializer, GroupSerializer #引入剛剛定義的序列化器 # Create your views here. class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all().order_by("-date_joined") #集合 serializer_class = UserSerializer #序列化 class GroupViewSet(viewsets.ModelViewSet): queryset = Group.objects.all() serializer_class = GroupSerializer四、URL
在tutorial/urls.py編寫URL
這里有一處官網引入模塊錯誤
from django.contrib import admin from django.urls import path, re_path #rest from django.conf.urls import url, include from rest_framework import routers # from tutorial.quickstart import views 官網模塊引入寫法,有誤 from quickstart import views router = routers.DefaultRouter() #路由 router.register(r"users", views.UserViewSet) #路由地址與接口配置 router.register(r"groups", views.GroupViewSet) #注:path是新寫法,url為老寫法,若要使用正則,則使用re_path urlpatterns = [ path("admin/", admin.site.urls), #rest re_path(r"^", include(router.urls)), #包含進路由配置的url url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")) #瀏覽器測試接口配置 ]五、設置
tutorial/settings.py下安裝
INSTALLED_APPS = ( ... "rest_framework", )六、打開瀏覽器測試
python manage.py runserver
啟動服務器后瀏覽器輸入http://127.0.0.1:8000可進入接口測試頁面
記得在右上角處點擊登錄
七、參考鏈接django用戶驗證機制:https://docs.djangoproject.co...
什么是Serializer:http://www.django-rest-framew...
什么是Serializer relations:http://www.django-rest-framew...
什么是viewsets:http://www.django-rest-framew...
url和re_path中r是什么:https://www.cnblogs.com/xuchu...
url與path區別:https://blog.csdn.net/endless...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42385.html
摘要:更新嘗試了一下實現前后端分離,新的文章如下前后端分離之初試更新可另外用實現前后端分離,這篇文章可能局限性太大,只是個人的入門實踐剛剛學習前端快一年,后臺方面了解甚少,于是決定踩踩坑,學習一下。 2018.9.6更新:嘗試了一下REST framework實現前后端分離,新的文章如下Django前后端分離之REST framework初試 2018.8.27更新:可另外用 restful...
摘要:前言對于前后端分離大家可能在網上可以找到很多的文章。但是,我們今天分享的文章的英文我們的老師對于前后端的分離問題的多年工作經驗的總結。今天,我們把這些經驗總結知識點分享給大家,希望可以幫助到大家。添加開啟黑白名單,任選其一。 前言 對于前后端分離大家可能在網上可以找到很多的文章。但是,我們今天分享的文章的英文我們的老師對于前后端的分離問題的多年工作經驗的總結。今天,我們把這些經驗總結知...
摘要:之序列化前后端分離就是前臺的開發和后臺的開發分離,這個技術方案的實現需要借助,簡單來說就是開發人員提供編程的接口被其他人調用,調用之后會返回數據供其使用安裝什么是序列化把模型對象轉換為格式然后響應出去,便于客戶端進行數據解析創建序列化類在應 Django RESTful API之序列化 前后端分離:就是前臺的開發和后臺的開發分離,這個技術方案的實現需要借助API,簡單來說就是開發人員提...
摘要:理解這個統一標準的不符規范的資源沒有統一實踐一個例子圖書管理系統技術棧前端后端要點驗證前端路由統一的請求響應攔截處理權限控制表級對象級如下圖最后,是否要做前后端分離的開發模式,取決于實際情況的多方位考量,適合的才是更好的。 所謂的前后端分離 淵源 前端發展史 特點 前端:負責 View 和 Controller 層 后端:只負責 Model 層,業務處理/數據等 優缺點 優點:解...
閱讀 1518·2021-11-18 10:02
閱讀 1657·2021-09-04 16:40
閱讀 3171·2021-09-01 10:48
閱讀 874·2019-08-30 15:55
閱讀 1853·2019-08-30 15:55
閱讀 1365·2019-08-30 13:05
閱讀 3013·2019-08-30 12:52
閱讀 1624·2019-08-30 11:24