中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Django如何獲取前端數據

發布時間:2023-02-24 16:20:48 來源:億速云 閱讀:132 作者:iii 欄目:開發技術

這篇文章主要介紹“Django如何獲取前端數據”,在日常操作中,相信很多人在Django如何獲取前端數據問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Django如何獲取前端數據”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

    Django獲取前端傳輸的數據的幾種方式

    獲取拼接在url上的數據

    class UrlData(View):
        def get(self, request):
        	# request的GET方法獲取拼接在url上數據的對象
            dict1 = request.GET
            # get方法根據key取value
            name = dict1.get('name')
            age = dict1.get('age')
            return HttpResponse('get--{}--{}'.format(name, age))

    測試

    Django如何獲取前端數據

    獲取post請求提交的表單數據

        def post(self, request):
        	# request的POST方法獲取表單數據對象
            dict1 = request.POST
            # 同樣是get獲取數據
            name = dict1.get('name')
            age = dict1.get('age')
            return HttpResponse('post--{}--{}'.format(name, age))

    postman測試

    Django如何獲取前端數據

    獲取json數據

    class JsonData(View):
        def post(self, request):
        	# request的body方法獲取的是所有請求體的二進制數據
            json_body = request.body
            print(json_body)
    		# 把請求體的二進制數據轉換為json格式
            json_data = json.loads(json_body)
    		#get方法鍵值對方式獲取值
            name = json_data.get('name')
            age = json_data.get('age')
            gender = json_data.get('gender')
    
            return HttpResponse('name: {},age: {}, gender: {}'.format(name, age, gender))

    打印臺結果

    Django如何獲取前端數據

    測試

    Django如何獲取前端數據

    提取路徑數據

    class LuJData(View):
    	""" 多傳一個變量age """
        def get(self, request, age):
            return HttpResponse('age: {}'.format(age))

    注冊視圖時代碼

    注意: 注冊時使用的轉換器里的變量名要 和 視圖里獲取數據的變量名的一致

    urlpatterns = [
        path('users/urldata/', views.UrlData.as_view()),
        path('users/jsondata/', views.JsonData.as_view()),
        # 使用int轉換器  <轉換器: 變量名>  
        # 變量名要和視圖函數添加的那個變量一樣的名字
        path('users/lujdata/<int:age>/', views.LuJData.as_view()),
    ]

    測試

    Django如何獲取前端數據

    自定義轉換器

    當匹配url數據的時候有要求就可以使用自定義轉換器

    工程目錄添加converters.py文件

    Django如何獲取前端數據

    自定義轉換器內容

    class MobileConverter:
    	# regex是正則表達式
        regex = '1[3-9]\d{9}'
    	# 模仿Django自帶轉換器
        def to_python(self, value):
            return int(value)
    
        def to_url(self, value):
            return str(value)

    在工程目錄的urls.py文件中注冊轉換器

    # 參數1 為自定義轉換器類 參數2 起了一個別名
    register_converter(MobileConverter, 'mobile')

    注冊視圖函數時使用自定義轉換器

    urlpatterns = [
        path('users/urldata/', views.UrlData.as_view()),
        path('users/jsondata/', views.JsonData.as_view()),
        # 使用自定義轉換器
        path('users/lujdata/<mobile:age>/', views.LuJData.as_view()),
    ]

    測試

    Django如何獲取前端數據

    re_path匹配視圖時直接寫正則

    Django如何獲取前端數據

    如何從前端獲取數據,post到后臺,再入數據庫呢

    首先,從前端獲取值。這里需要你自己去掌握怎么取,我只是總結一下我這個過程!下邊我是想能同時上傳多個文件,所以才嵌套的循環。

    Django如何獲取前端數據

    然后,根據對應的url,找到相關的model(這里,需要了解好你的數據庫屬性)。比如,這里是我想入庫的model:

    Django如何獲取前端數據

    好了,看完這個,我們去前端所post到的assign(),這里我們需要掌握一下

    Django如何獲取前端數據

    # 篩選條件:name和task_tags,所以不能用get(),而是用filter()
    condition_filter = {'task_tags':task_id, 'name':file_name}
     
    # 得到一個Queryset
    testrawdata_Qset = TestRawData.objects.using('oracle').filter(**condition_filter)
     
    # 獲得Queryset的值(這里我需要的是id)
    for testrawdata in testrawdata_Qset:
        data_id = testrawdata.id

    get_or_create()就是入庫了,看看入庫結果(成功!):

    Django如何獲取前端數據

    到此,關于“Django如何獲取前端數據”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

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

    AI

    彭泽县| 怀化市| 武威市| 耿马| 康平县| 新民市| 扶余县| 中牟县| 开原市| 清涧县| 北流市| 建湖县| 晋宁县| 宁都县| 天柱县| 巴彦淖尔市| 浪卡子县| 衡阳县| 扶沟县| 纳雍县| 诏安县| 恩平市| 伊宁县| 都兰县| 富宁县| 中山市| 临湘市| 息烽县| 济南市| 东兰县| 万州区| 鄂州市| 北宁市| 鹿泉市| 天门市| 惠州市| 连云港市| 车致| 衡阳市| 沙湾县| 宁晋县|