最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析

 更新時(shí)間:2023年05月17日 11:39:43   作者:想成為數(shù)據(jù)分析師的開發(fā)工程師  
Django 是一個基于 Python 的 Web 框架,可讓您快速創(chuàng)建高效的 Web 應(yīng)用程序,這篇文章主要介紹了基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析,需要的朋友可以參考下

1. 概述

到目前為止,程序的API對任何人都可以編輯或刪除,沒有任何限制。我們希望有一些更高級的行為,進(jìn)行身份驗(yàn)證和權(quán)限分配,以確保:

  • 數(shù)據(jù)始終與創(chuàng)建者相關(guān)聯(lián)
  • 只有經(jīng)過身份驗(yàn)證的用戶才能創(chuàng)建數(shù)據(jù)
  • 只有數(shù)據(jù)的創(chuàng)建者可以更新或刪除未經(jīng)身份驗(yàn)證的請求
  • 若未經(jīng)過身份驗(yàn)證只有只讀訪問權(quán)限

2. 使用admin應(yīng)用的User

  • 配置好settings中的數(shù)據(jù)庫配置
  • 將admin應(yīng)用的數(shù)據(jù)庫進(jìn)行遷移
  • 使用 createsuperuser 創(chuàng)建用戶

在這里插入圖片描述

給可瀏覽的API添加登錄功能 在根urls中添加:

from django.contrib import admin
from django.urls import path,include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('rest_app.urls')),
    path('api-auth/',include('rest_framework.urls')),
]

說明:

  • api-auth: 可以設(shè)置為任意符合規(guī)則的路徑
  • 再次訪問api頁面,在頁面的右上角會看到登錄操作的按鈕

在這里插入圖片描述

此時(shí),還是沒有做到身份驗(yàn)證的功能

3. 視圖中添加權(quán)限

from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from rest_app.models import *
from rest_app.app_serializer import StudentSerializer,ClassesSerializer
from django.http import JsonResponse,HttpResponse,Http404
from rest_framework.parsers import JSONParser
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.views import APIView
from rest_framework import mixins, generics
from rest_framework import permissions
# Create your views here.
'''
    新增        post    students/
    刪除        delete  students/id/
    修改        put     students/id/
    查詢一個    get     students/id/
    查詢所有    get     students/
'''
# 優(yōu)化代碼:
class StudentsView(generics.ListCreateAPIView):
    # 指定需要操作的數(shù)據(jù)與序列化類
    queryset = Student.objects.all()
    serializer_class = StudentSerializer
    # 添加身份驗(yàn)證功能
    permission_classes = [permissions.IsAuthenticatedOrReadOnly]
class StudentDetailView(generics.RetrieveUpdateDestroyAPIView):
    queryset = Student.objects.all()
    serializer_class = StudentSerializer
    # 添加身份驗(yàn)證功能
    permission_classes = [permissions.IsAuthenticatedOrReadOnly]

此時(shí),再次訪問頁面就無法對其進(jìn)行操作了,需要登錄

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析的文章就介紹到這了,更多相關(guān)Django-rest_framework身份驗(yàn)證和權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python處理大量Excel文件的十個技巧分享

    Python處理大量Excel文件的十個技巧分享

    每天被大量Excel文件折磨的你看過來!這是一份Python程序員整理的實(shí)用技巧,不說廢話,直接上干貨,文章通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2025-05-05
  • MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實(shí)現(xiàn)示例

    MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實(shí)現(xiàn)示例

    這篇文章主要介紹了MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python實(shí)現(xiàn)播放gif動圖文件工具(增強(qiáng)版)

    Python實(shí)現(xiàn)播放gif動圖文件工具(增強(qiáng)版)

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一個播放gif動圖文件的增強(qiáng)版工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-10-10
  • Python?Matplotlib繪制動圖平滑曲線

    Python?Matplotlib繪制動圖平滑曲線

    這篇文章主要介紹了Python?Matplotlib繪制動圖平滑曲線,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考一下,需要的小伙伴可以參考一下
    2022-08-08
  • 解決python2.7 查詢mysql時(shí)出現(xiàn)中文亂碼

    解決python2.7 查詢mysql時(shí)出現(xiàn)中文亂碼

    這篇文章主要介紹了python操作mysql中文顯示亂碼的解決方法,是Python數(shù)據(jù)庫程序設(shè)計(jì)中經(jīng)常會遇到的問題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2016-10-10
  • Python 對象中的數(shù)據(jù)類型

    Python 對象中的數(shù)據(jù)類型

    對于python,一切事物都是對象,程序中存儲的所有數(shù)據(jù)都是對象,對象基于類創(chuàng)建。這篇文章主要介紹了Python 對象之?dāng)?shù)據(jù)類型 ,需要的朋友可以參考下
    2017-05-05
  • Python解析pcap文件示例

    Python解析pcap文件示例

    這篇文章主要為大家介紹了Python解析pcap文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python學(xué)習(xí)小技巧之列表項(xiàng)的推導(dǎo)式與過濾操作

    Python學(xué)習(xí)小技巧之列表項(xiàng)的推導(dǎo)式與過濾操作

    這篇文章主要給大家介紹了Python學(xué)習(xí)小技巧之列表項(xiàng)的推導(dǎo)式與過濾操作的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看把。
    2017-05-05
  • Python Flask RESTful使用demo演示

    Python Flask RESTful使用demo演示

    這篇文章主要為大家介紹了Python Flask RESTful使用demo演示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python?Flask中Cookie和Session區(qū)別詳解

    Python?Flask中Cookie和Session區(qū)別詳解

    Flask是一個使用?Python?編寫的輕量級?Web?應(yīng)用框架。其?WSGI?工具箱采用?Werkzeug?,模板引擎則使用?Jinja2?。Flask使用?BSD?授權(quán)。Flask也被稱為?“microframework”?,因?yàn)樗褂煤唵蔚暮诵?,?extension?增加其他功能,F(xiàn)lask中Cookie和Session有什么區(qū)別呢
    2022-07-07

最新評論

高淳县| 绵竹市| 儋州市| 泰顺县| 鄂伦春自治旗| 马边| 石渠县| 大埔区| 墨江| 西乌珠穆沁旗| 化州市| 盈江县| 新绛县| 金华市| 高要市| 磐安县| 绥滨县| 北票市| 逊克县| 界首市| 江永县| 定远县| 朔州市| 和政县| 商南县| 富宁县| 德保县| 凤阳县| 定襄县| 陆良县| 虞城县| 闽清县| 石河子市| 于田县| 新化县| 太湖县| 临江市| 旬阳县| 青岛市| 察雅县| 睢宁县|