溫馨提示×

溫馨提示×

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

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

Django中的視圖類型有哪些

發(fā)布時間:2021-02-18 14:23:35 來源:億速云 閱讀:211 作者:Leah 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關Django中的視圖類型有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、基于功能的視圖

基于函數(shù)的視圖是使用python中的函數(shù)編寫的,該函數(shù)以HttpRequest對象作為參數(shù)并返回HttpResponse對象?;诠δ艿囊晥D通常分為4種基本策略,即CRUD(創(chuàng)建,檢索,更新,刪除)。CRUD是用于開發(fā)的任何框架的基礎。

# import the standard Django Model
# from built-in library
from django.db import models
# declare a new model with a name "GeeksModel"
class GeeksModel(models.Model):
  # fields of the model
  title = models.CharField(max_length = 200)
  description = models.TextField()
  # renames the instances of the model
  # with their title name
  def __str__(self):
    return self.title

2、基于類的視圖

基于類的視圖提供了一種將視圖實現(xiàn)為Python對象而非函數(shù)的替代方法。與基于函數(shù)的視圖相比,基于類的視圖更易于管理。

from django.views.generic.list import ListView
from .models import GeeksModel
class GeeksList(ListView):
  # specify the model for list view
model = GeeksModel

以上就是Django視圖的類型,大家對基礎的內(nèi)容有所掌握后,可以動手嘗試下代碼部分的運行,加深對兩種不同視圖的理解。

內(nèi)容擴展:

ListView

在我們的博客應用中,有幾個視圖函數(shù)是從數(shù)據(jù)庫中獲取文章(Post)列表數(shù)據(jù)的:

blog/views.py

def index(request):
  # ...

def archive(request, year, month):
  # ...

def category(request, pk):
  # ...

def tag(request, pk):
  # ...

關于Django中的視圖類型有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

AI