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

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

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

1. 概述

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

  • 數(shù)據(jù)始終與創(chuàng)建者相關(guān)聯(lián)
  • 只有經(jīng)過身份驗證的用戶才能創(chuàng)建數(shù)據(jù)
  • 只有數(shù)據(jù)的創(chuàng)建者可以更新或刪除未經(jīng)身份驗證的請求
  • 若未經(jīng)過身份驗證只有只讀訪問權(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頁面,在頁面的右上角會看到登錄操作的按鈕

在這里插入圖片描述

此時,還是沒有做到身份驗證的功能

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
    # 添加身份驗證功能
    permission_classes = [permissions.IsAuthenticatedOrReadOnly]
class StudentDetailView(generics.RetrieveUpdateDestroyAPIView):
    queryset = Student.objects.all()
    serializer_class = StudentSerializer
    # 添加身份驗證功能
    permission_classes = [permissions.IsAuthenticatedOrReadOnly]

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

在這里插入圖片描述

在這里插入圖片描述

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

相關(guān)文章

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

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

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

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

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

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

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

    Python?Matplotlib繪制動圖平滑曲線

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

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

    這篇文章主要介紹了python操作mysql中文顯示亂碼的解決方法,是Python數(shù)據(jù)庫程序設(shè)計中經(jīng)常會遇到的問題,非常具有實用價值,需要的朋友可以參考下
    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í)小技巧之列表項的推導(dǎo)式與過濾操作

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

    這篇文章主要給大家介紹了Python學(xué)習(xí)小技巧之列表項的推導(dǎo)式與過濾操作的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看把。
    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”?,因為它使用簡單的核心,用?extension?增加其他功能,F(xiàn)lask中Cookie和Session有什么區(qū)別呢
    2022-07-07

最新評論

永济市| 鱼台县| 德格县| 滦平县| 曲阳县| 湟源县| 武胜县| 虞城县| 广南县| 海阳市| 南郑县| 浦东新区| 五大连池市| 南康市| 嘉荫县| 清新县| 托克托县| 巨野县| 赤壁市| 疏勒县| 肇州县| 邢台县| 长兴县| 新宾| 罗源县| 五峰| 同仁县| 定日县| 金乡县| 阿鲁科尔沁旗| 江油市| 白河县| 隆子县| 邵阳县| 北海市| 江永县| 夏河县| 沁阳市| 剑河县| 尖扎县| 黄平县|