亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Django前后端分離之REST framework初試

Scorpion / 1544人閱讀

摘要:之前剛學(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...

一、項(xiàng)目安裝

首先是安裝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

相關(guān)文章

  • Django前后分離實(shí)踐

    摘要:更新嘗試了一下實(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...

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

    摘要:前言對于前后端分離大家可能在網(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é)知...

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

    摘要:之序列化前后端分離就是前臺(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ā)人員提...

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

    摘要:理解這個(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):解...

    adam1q84 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<