request和response——請求響應對象

請求對象——request

獲取get請求的值

一次請求,返回一個響應。
地址欄:http://127.0.0.1:8000/day3/get_request?lan=python
問號:代表請求參數

目前成都創新互聯已為上1000+的企業提供了網站建設、域名、網站空間、網站托管、服務器租用、企業網站設計、新城網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

需求:拿到請求參數

傳入單個值

# views.py
def get_request(request):
    return HttpResponse('getrequest')
# urls.py
path('getrequest',get_request),

想要拿到地址欄中的參數
print(request.GET)

發現打印出來的是字典,所以——
print(request.GET.get('lan'))

【知識點】
打印字典中的值,有兩種辦法:
1,print(request.GET.get('lan'))——(一般用這個)假設key不存在,返回空值None
2,print(request.GET['lan'])——key不存在,會拋出異常

傳入多個值


print(request.GET.getlist('lan'))

獲取路由地址

如何來到get_request函數的(這個視圖函數)
print(request.path_info)

獲取請求方式(get/post)

print(request.method)

【知識點】
Django中地址欄默認是get請求,如果要發送post請求,需要把中間件的(選中的)注釋掉

【知識點】
post請求,往表單中傳入數據(用的postman)

獲取post請求的值

獲取value

假設表單中的值是這樣的:

先看看request.POST打印出什么

拿到request.POST.get('b_title')

表單上傳

print(request.FILES)

(files里面對應的是文件對象)

根據請求方式選擇路由

path('testgetpost', test_get_post),
# 根據不同的請求方式做不同的處理
def test_get_post(request):
    if request.method == 'GET':
        return HttpResponse('get請求')
    elif request.method == 'POST':
        # li = [1,2]
        # print(li[2])
        return HttpResponse('post請求')
    else:
        return HttpResponse(request.method)

響應對象——response

常見的狀態碼

200(響應成功)
500(python代碼有問題)
404(資源找不到)
405(請求不被允許)
301 302 (重定向,瀏覽器的行為)

給定響應頭

默認返回的頭信息

 path('test_response_header',test_response_header),
def test_response_header(request):
    ret = HttpResponse('test_response_header')
    return ret

自定義頭信息

 path('test_response_header',test_response_header),
def test_response_header(request):
    # content-type是html類型
    ret = HttpResponse('test_response_header')
    # 自定義頭信息
    ret['msg'] = 'success'
    ret['code'] = 'ok'
    return ret

其他響應對象

json 數據格式 解決前后端數據不認識的問題 {'key':value}
前后不分離項目 :前后端全部編寫,會經常使用HttpResponse對象
前后分離項目時使用: 會經常使用JsonResponse對象

json 數據格式

用途:一般做前后分離項目時使用

path('test_json_response', test_json_response),
def test_json_response(request):
    # content-type是json類型
    return JsonResponse(request.GET)


文件處理

path('test_file_response',test_file_response),
 def test_file_response(request):
    return FileResponse(open('manage.py','rb'))

return JsonResponse和return FileResponse的區別

return JsonResponse和return:返回值類型是Json
return FileResponse:返回值類型是文件的類型

網頁標題:request和response——請求響應對象
新聞來源:http://m.kartarina.com/article16/dsoghgg.html

成都網站建設公司_創新互聯,為您提供Google移動網站建設網站改版搜索引擎優化網站設計公司網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發
主站蜘蛛池模板: 人妻系列无码专区久久五月天| 亚洲午夜无码久久久久软件| 久久久久久AV无码免费网站| 无码精品人妻一区二区三区中| 亚洲AV无码专区在线亚 | 久久无码中文字幕东京热| 中文字幕av无码一二三区电影| 亚洲精品无码久久久| 久久午夜无码鲁丝片秋霞| mm1313亚洲精品无码又大又粗| 免费A级毛片无码专区| 久久精品无码av| 久久久久无码精品国产h动漫| 国产AV一区二区三区无码野战 | 无码中文在线二区免费| 中文无码日韩欧免费视频| 熟妇人妻无码xxx视频| 人妻无码久久一区二区三区免费| 亚洲AV无码专区日韩| 成人毛片无码一区二区| 精品人无码一区二区三区| 国产三级无码内射在线看| 日产无码1区2区在线观看| 精品国产性色无码AV网站 | 亚洲Av无码乱码在线观看性色 | 中文AV人妻AV无码中文视频| 三上悠亚ssⅰn939无码播放| 特级无码a级毛片特黄| 人妻少妇精品无码专区| 久久无码中文字幕东京热| 免费A级毛片无码视频| 免费A级毛片无码A∨| 无码国产色欲XXXX视频| 亚洲级αV无码毛片久久精品| 在线播放无码高潮的视频 | 午夜亚洲AV日韩AV无码大全| 国产午夜无码视频在线观看| 亚洲一区精品无码| 国产成人精品一区二区三区无码| 久久中文精品无码中文字幕| 中文字幕无码AV波多野吉衣|