摘要:之前剛學(xué)時(shí)硬生生使用了靜態(tài)資源和接口分離的方法,實(shí)際使用中肯定會(huì)非常不方便。于是發(fā)現(xiàn)了用于前后端分離,編寫后臺(tái)的框架。
之前剛學(xué)django時(shí)硬生生使用了靜態(tài)資源和接口分離的方法,實(shí)際使用中肯定會(huì)非常不方便。于是發(fā)現(xiàn)了用于前后端分離,編寫后臺(tái)API的REST framework框架。這里做初步嘗試
官方文檔看起來非常入門
本次實(shí)踐主要是根據(jù)官方文檔步驟進(jìn)行初步實(shí)踐,其中加入一些自己學(xué)習(xí)時(shí)理解的注釋,不能保證翻譯正確,所有的參考鏈接都放在文末吧。
但是!學(xué)習(xí)過程中發(fā)現(xiàn)兩處引用模塊官網(wǎng)有誤!代碼中會(huì)標(biāo)注出來
官方文檔地址先放:
http://www.django-rest-framew...
首先是安裝django和djangorestframework
pip install django pip install djangorestframework
多數(shù)人都應(yīng)該安裝好了吧
根據(jù)按官網(wǎng)demo安裝應(yīng)用
django-admin.py startproject tutorial django-admin.py startapp quickstart
然后是數(shù)據(jù)庫遷移
python manage.py migrate
接著創(chuàng)建管理員頁面和用戶
python manage.py createsuperuser --email admin@example.com --username admin二、Serializer(序列化器)配置
定義一些配置,創(chuàng)建一個(gè)tutorial/quickstart/serializers.py模塊,編寫如下代碼
from django.contrib.auth.models import User, Group #引入django身份驗(yàn)證機(jī)制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") #設(shè)置字段 class GroupSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Group #使用Group model fields = ("url", "name")三、視圖配置
在tutorial/quickstart/views.py編寫如下代碼(render都可以注釋掉了???)
這里有一處官網(wǎng)引入模塊錯(cuò)誤
#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 官網(wǎng)模塊引入寫法,有誤 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
這里有一處官網(wǎng)引入模塊錯(cuò)誤
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 官網(wǎng)模塊引入寫法,有誤 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)), #包含進(jìn)路由配置的url url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")) #瀏覽器測試接口配置 ]五、設(shè)置
tutorial/settings.py下安裝
INSTALLED_APPS = ( ... "rest_framework", )六、打開瀏覽器測試
python manage.py runserver
啟動(dòng)服務(wù)器后瀏覽器輸入http://127.0.0.1:8000可進(jìn)入接口測試頁面
記得在右上角處點(diǎn)擊登錄
七、參考鏈接django用戶驗(yàn)證機(jī)制: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區(qū)別:https://blog.csdn.net/endless...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/42385.html
摘要:更新嘗試了一下實(shí)現(xiàn)前后端分離,新的文章如下前后端分離之初試更新可另外用實(shí)現(xiàn)前后端分離,這篇文章可能局限性太大,只是個(gè)人的入門實(shí)踐剛剛學(xué)習(xí)前端快一年,后臺(tái)方面了解甚少,于是決定踩踩坑,學(xué)習(xí)一下。 2018.9.6更新:嘗試了一下REST framework實(shí)現(xiàn)前后端分離,新的文章如下Django前后端分離之REST framework初試 2018.8.27更新:可另外用 restful...
摘要:前言對于前后端分離大家可能在網(wǎng)上可以找到很多的文章。但是,我們今天分享的文章的英文我們的老師對于前后端的分離問題的多年工作經(jīng)驗(yàn)的總結(jié)。今天,我們把這些經(jīng)驗(yàn)總結(jié)知識點(diǎn)分享給大家,希望可以幫助到大家。添加開啟黑白名單,任選其一。 前言 對于前后端分離大家可能在網(wǎng)上可以找到很多的文章。但是,我們今天分享的文章的英文我們的老師對于前后端的分離問題的多年工作經(jīng)驗(yàn)的總結(jié)。今天,我們把這些經(jīng)驗(yàn)總結(jié)知...
摘要:之序列化前后端分離就是前臺(tái)的開發(fā)和后臺(tái)的開發(fā)分離,這個(gè)技術(shù)方案的實(shí)現(xiàn)需要借助,簡單來說就是開發(fā)人員提供編程的接口被其他人調(diào)用,調(diào)用之后會(huì)返回?cái)?shù)據(jù)供其使用安裝什么是序列化把模型對象轉(zhuǎn)換為格式然后響應(yīng)出去,便于客戶端進(jìn)行數(shù)據(jù)解析創(chuàng)建序列化類在應(yīng) Django RESTful API之序列化 前后端分離:就是前臺(tái)的開發(fā)和后臺(tái)的開發(fā)分離,這個(gè)技術(shù)方案的實(shí)現(xiàn)需要借助API,簡單來說就是開發(fā)人員提...
摘要:理解這個(gè)統(tǒng)一標(biāo)準(zhǔn)的不符規(guī)范的資源沒有統(tǒng)一實(shí)踐一個(gè)例子圖書管理系統(tǒng)技術(shù)棧前端后端要點(diǎn)驗(yàn)證前端路由統(tǒng)一的請求響應(yīng)攔截處理權(quán)限控制表級對象級如下圖最后,是否要做前后端分離的開發(fā)模式,取決于實(shí)際情況的多方位考量,適合的才是更好的。 所謂的前后端分離 淵源 前端發(fā)展史 特點(diǎn) 前端:負(fù)責(zé) View 和 Controller 層 后端:只負(fù)責(zé) Model 層,業(yè)務(wù)處理/數(shù)據(jù)等 優(yōu)缺點(diǎn) 優(yōu)點(diǎn):解...
閱讀 1599·2021-11-18 10:02
閱讀 1788·2021-09-04 16:40
閱讀 3242·2021-09-01 10:48
閱讀 933·2019-08-30 15:55
閱讀 1950·2019-08-30 15:55
閱讀 1438·2019-08-30 13:05
閱讀 3095·2019-08-30 12:52
閱讀 1669·2019-08-30 11:24