日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Django视图简介

發布時間:2023/12/18 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django视图简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,視圖函數介紹

  一個視圖函數,簡稱視圖,是一個簡單的Python 函數,它接受Web請求并且返回Web響應。響應可以是一張網頁的HTML內容,一個重定向,一個404錯誤,一個XML文檔,或者一張圖片. . . 是任何東西都可以。無論視圖本身包含什么邏輯,都要返回響應。代碼寫在哪里也無所謂,只要它在你的Python目錄下面。除此之外沒有更多的要求了——可以說“沒有什么神奇的地方”。為了將代碼放在某處,約定是將視圖放置在項目或應用程序目錄中的名為views.py的文件中。

二,三種響應形式

  1:HttpResponse()

  2:render()

render(request, template_name[, context])

  結合一個給定的模板和一個給定的上下文字典,并返回一個渲染后的Httpresponse對象

  參數:

    request:用于生成響應的請求對象

    template_name:要使用的模板完整名稱,可選得到參數

    context:添加到模板上下文的一個字典。如果字典中的某一個值是可調用的,視圖將在渲染模板之前調用它。

# render內部原理 from django.template import Template,Context def test(request):tmp = Template("<h1>{{ user }}</h1>")con = Context({'user':'jason'})res = tmp.render(con)print(res)return HttpResponse(res)

  3:redirect(傳遞要重定向的一個URL)

三,JsonResponse

  向前端返回一個json格式字符串的兩種方式

  方式一:

import json data={'name':'lqz','age':18} data1=['lqz','egon'] return HttpResponse(json.dumps(data1))

  方式二:

from django.http import JsonResponse data = {'name': 'lqz', 'age': 18} data1 = ['lqz', 'egon'] return JsonResponse(data) return JsonResponse(data1,safe=False)

四,CBV和FBV

  class base view 和 Function base view

from django.views import View class AddPublish(View):def dispatch(self, request, *args, **kwargs):print(request)print(args)print(kwargs)# 可以寫類似裝飾器的東西,在前后加代碼obj=super().dispatch(request, *args, **kwargs)return objdef get(self,request):return render(request,'index.html')def post(self,request):requestreturn HttpResponse('post')

?

五,簡單文件上傳

  form表單上傳文件的注意事項,encytpe編碼指定為formdata

def uploadfile(request):if request.method == 'POST':# print(request.FILES)# print(request.FILES.get('myfile'))file_obj = request.FILES.get('myfile')with open(file_obj.name,'wb') as f:for line in file_obj.chunks():# 或者直接對文件對象for循環for line in file_obj f.write(line)return HttpResponse("OK!")return render(request,'index.html')

?

    

    

轉載于:https://www.cnblogs.com/ay742936292/p/10999645.html

總結

以上是生活随笔為你收集整理的Django视图简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。