成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Django前后端分離之REST framework初試

Scorpion / 1501人閱讀

摘要:之前剛學(xué)時硬生生使用了靜態(tài)資源和接口分離的方法,實際使用中肯定會非常不方便。于是發(fā)現(xiàn)了用于前后端分離,編寫后臺的框架。

之前剛學(xué)django時硬生生使用了靜態(tài)資源和接口分離的方法,實際使用中肯定會非常不方便。于是發(fā)現(xiàn)了用于前后端分離,編寫后臺API的REST framework框架。這里做初步嘗試
官方文檔看起來非常入門
本次實踐主要是根據(jù)官方文檔步驟進(jìn)行初步實踐,其中加入一些自己學(xué)習(xí)時理解的注釋,不能保證翻譯正確,所有的參考鏈接都放在文末吧。
但是!學(xué)習(xí)過程中發(fā)現(xiàn)兩處引用模塊官網(wǎng)有誤!代碼中會標(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 [email protected] --username admin
二、Serializer(序列化器)配置

定義一些配置,創(chuàng)建一個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") #設(shè)置字段

class GroupSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Group  #使用Group model
        fields = ("url", "name")
三、視圖配置

tutorial/quickstart/views.py編寫如下代碼(render都可以注釋掉了???)
這里有一處官網(wǎng)引入模塊錯誤

#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)引入模塊錯誤

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

啟動服務(wù)器后瀏覽器輸入http://127.0.0.1:8000可進(jìn)入接口測試頁面

記得在右上角處點擊登錄

七、參考鏈接

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區(qū)別:https://blog.csdn.net/endless...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42385.html

相關(guān)文章

  • Django前后分離實踐

    摘要:更新嘗試了一下實現(xiàn)前后端分離,新的文章如下前后端分離之初試更新可另外用實現(xiàn)前后端分離,這篇文章可能局限性太大,只是個人的入門實踐剛剛學(xué)習(xí)前端快一年,后臺方面了解甚少,于是決定踩踩坑,學(xué)習(xí)一下。 2018.9.6更新:嘗試了一下REST framework實現(xiàn)前后端分離,新的文章如下Django前后端分離之REST framework初試 2018.8.27更新:可另外用 restful...

    Mike617 評論0 收藏0
  • 關(guān)于WEB前后分離的要點總結(jié)(上)

    摘要:前言對于前后端分離大家可能在網(wǎng)上可以找到很多的文章。但是,我們今天分享的文章的英文我們的老師對于前后端的分離問題的多年工作經(jīng)驗的總結(jié)。今天,我們把這些經(jīng)驗總結(jié)知識點分享給大家,希望可以幫助到大家。添加開啟黑白名單,任選其一。 前言 對于前后端分離大家可能在網(wǎng)上可以找到很多的文章。但是,我們今天分享的文章的英文我們的老師對于前后端的分離問題的多年工作經(jīng)驗的總結(jié)。今天,我們把這些經(jīng)驗總結(jié)知...

    FullStackDeveloper 評論0 收藏0
  • 10-django——RESTful API 序列化

    摘要:之序列化前后端分離就是前臺的開發(fā)和后臺的開發(fā)分離,這個技術(shù)方案的實現(xiàn)需要借助,簡單來說就是開發(fā)人員提供編程的接口被其他人調(diào)用,調(diào)用之后會返回數(shù)據(jù)供其使用安裝什么是序列化把模型對象轉(zhuǎn)換為格式然后響應(yīng)出去,便于客戶端進(jìn)行數(shù)據(jù)解析創(chuàng)建序列化類在應(yīng) Django RESTful API之序列化 前后端分離:就是前臺的開發(fā)和后臺的開發(fā)分離,這個技術(shù)方案的實現(xiàn)需要借助API,簡單來說就是開發(fā)人員提...

    Bowman_han 評論0 收藏0
  • 細(xì)說 Django—web 前后分離

    摘要:理解這個統(tǒng)一標(biāo)準(zhǔn)的不符規(guī)范的資源沒有統(tǒng)一實踐一個例子圖書管理系統(tǒng)技術(shù)棧前端后端要點驗證前端路由統(tǒng)一的請求響應(yīng)攔截處理權(quán)限控制表級對象級如下圖最后,是否要做前后端分離的開發(fā)模式,取決于實際情況的多方位考量,適合的才是更好的。 所謂的前后端分離 淵源 前端發(fā)展史 特點 前端:負(fù)責(zé) View 和 Controller 層 后端:只負(fù)責(zé) Model 層,業(yè)務(wù)處理/數(shù)據(jù)等 優(yōu)缺點 優(yōu)點:解...

    adam1q84 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<