91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣進行Django中方便快捷的json響應分析

發布時間:2021-12-08 16:28:07 來源:億速云 閱讀:156 作者:柒染 欄目:大數據

這篇文章給大家介紹怎樣進行Django中方便快捷的json響應分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

目前流行的前后端分離開發模式中,前端工程師需要根據后端開發人員給出的API文檔發起不同的請求得到數據,API文檔規定了一些請求的模板以及響應的數據格式和代碼。

通常,前后端約定一些代碼以代表一定含義的響應。

在這里,分享一個作者在開發過程中經常使用的一些技巧。

1新建utils文件夾

2新建json_status.py 文件

#導入模塊
from django.http import JsonResponse

django 提供了一個jsonResponse方法,可以返回一個標準的json響應。

3創建一個 Code 的類

class Code:
    ok = 2
    params_error = 1
    un_auth_error = 403
    server_error = 500

返回不同狀態的響應代碼

4創建一個標準的json響應函數

def result(code = Code.ok,message = '',data = None,**kwargs):
    json_dict = {"code":code, 'msg':message,"data":data}
    if kwargs and isinstance(kwargs,dict):
        json_dict.update(kwargs)
    return JsonResponse(json_dict)

在這里,通過定義result函數,封裝一些常用的響應字段,例如響應的代碼,信息,數據,可供前端使用。

kwargs:熟悉Python的朋友一定不會陌生,這是Python中經典的使用,可以向函數中傳入不定長的參數。

5創建更豐富的json響應函數

ef params_error(message='',data=None):
    '''
     參數錯誤
    :param message:傳給前端的信息
    :param data: 傳給前端的數據,字典類型
    :return: Json響應
    '''
    return result(code=Code.params_error,message=message,data=data)

def un_auth_error(code=Code.un_auth_error,message='',data=None):
    '''
    權限錯誤
    :param code:
    :param message:
    :param data:
    :return:
    '''
    return result(code,message=message,data=data)


def server_error(code = Code.server_error,message='',data=None):
    '''
    服務器錯誤
    :param code:
    :param message:
    :param data:
    :return:
    '''
    return result(code,message=message,data=data)

上面我們創建了一系列的json響應函數,下面我們演示如何在視圖函數中使用。

6在視圖中響應使用響應函數

#首先導入
from utils import json_status

#創建一個視圖函數
def index(request):
    id = int(request.GET.get("id"))
    if id ===1:
        return json_status.result(message='成功')
    else:
        return json_status.params_error(message='參數錯誤')

通過GET方法,獲取到的id的值,判斷id。

如果id=1 則返回成功的響應

如果id為其他值,則返回參數錯誤的響應

在前端中(以ajax為例)

            $.ajax({
                type: get,
                url: url,
                data: {"id":1},
                success: function (result) {
                    if (result.code ==2) {
                        alert(result.message);
                        });
                    } else{
                        alert(result.code);
                        alert(result.message);
                    }
                    return;
                }
            });

通過上述方法,可以返回一個標準的json響應。前端根據不同的響應代碼,進行操作。

關于怎樣進行Django中方便快捷的json響應分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永丰县| 福海县| 兴山县| 莱州市| 武威市| 渝北区| 萨迦县| 交口县| 织金县| 阿克苏市| 桂阳县| 邯郸县| 兴义市| 鄂伦春自治旗| 云龙县| 昌平区| 万盛区| 安新县| 镇康县| 偏关县| 修武县| 垫江县| 汾西县| 长葛市| 南宁市| 临高县| 尼木县| 元朗区| 麻栗坡县| 鲜城| 中西区| 靖边县| 泸西县| 巧家县| 石首市| 龙南县| 泰兴市| 和静县| 大悟县| 彰化县| 若尔盖县|