欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django 前端頁面如何實(shí)現(xiàn)顯示前N條數(shù)據(jù)

 更新時(shí)間:2020年03月16日 10:28:51   作者:luguanyou  
這篇文章主要介紹了django 前端頁面如何實(shí)現(xiàn)顯示前N條數(shù)據(jù)。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

這個(gè)涉及到的知識(shí)點(diǎn)是django數(shù)據(jù)庫查詢問題,我們可以在view.py文件中操作

blog_list = models.Blog.objects.all()[:3]

這是選取數(shù)據(jù)庫的前三條數(shù)據(jù)

補(bǔ)充知識(shí):django 數(shù)據(jù)庫查詢—如何獲取指定范圍的數(shù)據(jù)

檢索對(duì)象

__exact 精確等于 like ‘a(chǎn)aa'
__iexact 精確等于 忽略大小寫 ilike ‘a(chǎn)aa'
__contains 包含 like ‘%aaa%'
__icontains 包含 忽略大小寫 ilike ‘%aaa%',但是對(duì)于sqlite來說,contains的作用效果等同于icontains。
__gt 大于
__gte 大于等于
__lt 小于
__lte 小于等于
__in 存在于一個(gè)list范圍內(nèi)
__startswith 以…開頭
__istartswith 以…開頭 忽略大小寫
__endswith 以…結(jié)尾
__iendswith 以…結(jié)尾,忽略大小寫
__range 在…范圍內(nèi)
__year 日期字段的年份
__month 日期字段的月份
__day 日期字段的日
__isnull=True/False
__isnull=True 與 __exact=None的區(qū)別

1、檢索所有的對(duì)象

>>> all_entries = Entry.objects.all()

使用all()方法返回?cái)?shù)據(jù)庫中的所有對(duì)象。

2、檢索特定的對(duì)象

使用以下兩個(gè)方法:

fileter(**kwargs)

返回一個(gè)與參數(shù)匹配的QuerySet,相當(dāng)于等于(=).

exclude(**kwargs)

返回一個(gè)與參數(shù)不匹配的QuerySet,相當(dāng)于不等于(!=)。

Entry.objects.filter(pub_date__year=2006)

不使用Entry.objects.all().filter(pub_date__year=2006),雖然也能運(yùn)行,all()最好再獲取所有的對(duì)象時(shí)使用。

上面的例子等同于的sql語句:

select * from entry where pub_date_year='2006′

鏈接過濾器:

>>> Entry.objects.filter(
… headline__startswith='What'
… ).exclude(
… pub_date__gte=datetime.now()
… ).filter(
… pub_date__gte=datetime(2005, 1, 1)
… )

最后返回的QuerySet是headline like ‘What%' and put_date2005-01-01

另外一種方法:

>> q1 = Entry.objects.filter(headline__startswith=”What”)
>> q2 = q1.exclude(pub_date__gte=datetime.now())
>> q3 = q1.filter(pub_date__gte=datetime.now())

這種方法的好處是可以對(duì)q1進(jìn)行重用。

QuerySet是延遲加載

只在使用的時(shí)候才會(huì)去訪問數(shù)據(jù)庫,如下:

>>> q = Entry.objects.filter(headline__startswith=”What”)
>>> q = q.filter(pub_date__lte=datetime.now())
>>> q = q.exclude(body_text__icontains=”food”)
>>> print q

在print q時(shí)才會(huì)訪問數(shù)據(jù)庫。

其他的QuerySet方法

>>> Entry.objects.all()[:5]

這是查找前5個(gè)entry表里的數(shù)據(jù)

>>> Entry.objects.all()[5:10]

這是查找從第5個(gè)到第10個(gè)之間的數(shù)據(jù)。

>>> Entry.objects.all()[:10:2]

這是查詢從第0個(gè)開始到第10個(gè),步長為2的數(shù)據(jù)。

>>> Entry.objects.order_by(‘headline')[0]

這是取按headline字段排序后的第一個(gè)對(duì)象。

>>> Entry.objects.order_by(‘headline')[0:1].get()

這和上面的等同的。

>>> Entry.objects.filter(pub_date__lte='2006-01-01′)

等同于SELECT * FROM blog_entry WHERE pub_date <= '2006-01-01′;

>>> Entry.objects.get(headline__exact=”Man bites dog”)

等同于SELECT … WHERE headline = ‘Man bites dog';

>>> Blog.objects.get(id__exact=14) # Explicit form
>>> Blog.objects.get(id=14) # __exact is implied

這兩種方式是等同的,都是查找id=14的對(duì)象。

>>> Blog.objects.get(name__iexact=”beatles blog”)

查找name=”beatles blog”的對(duì)象,不去飯大小寫。

Entry.objects.get(headline__contains='Lennon')

等同于SELECT … WHERE headline LIKE ‘%Lennon%';

startswith 等同于sql語句中的 name like ‘Lennon%',

endswith等同于sql語句中的 name like ‘%Lennon'.

>>> Entry.objects.filter(blog__name__exact='Beatles Blog')

查找entry表中外鍵關(guān)系blog_name='Beatles Blog'的Entry對(duì)象。

>>> Blog.objects.filter(entry__headline__contains='Lennon')

查找blog表中外鍵關(guān)系entry表中的headline字段中包含Lennon的blog數(shù)據(jù)。

Blog.objects.filter(entry__author__name='Lennon')

查找blog表中外鍵關(guān)系entry表中的author字段中包含Lennon的blog數(shù)據(jù)。

Blog.objects.filter(entry__author__name__isnull=True) 
Blog.objects.filter(entry__author__isnull=False,entry__author__name__isnull=True) 

查詢的是author_name為null的值

Blog.objects.filter(entry__headline__contains='Lennon',entry__pub_date__year=2008)
Blog.objects.filter(entry__headline__contains='Lennon').filter( entry__pub_date__year=2008)

這兩種查詢?cè)谀承┣闆r下是相同的,某些情況下是不同的。第一種是限制所有的blog數(shù)據(jù)的,而第二種情況則是第一個(gè)filter是

限制blog的,而第二個(gè)filter則是限制entry的

>>> Blog.objects.get(id__exact=14) # Explicit form
>>> Blog.objects.get(id=14) # __exact is implied
>>> Blog.objects.get(pk=14) # pk implies id__exact

等同于select * from where id=14

Get blogs entries with id 1, 4 and 7

>>> Blog.objects.filter(pk__in=[1,4,7])

等同于select * from where id in{1,4,7}

Get all blog entries with id > 14

Blog.objects.filter(pk__gt=14)

以上這篇django 前端頁面如何實(shí)現(xiàn)顯示前N條數(shù)據(jù)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 網(wǎng)易2016研發(fā)工程師編程題 獎(jiǎng)學(xué)金(python)

    網(wǎng)易2016研發(fā)工程師編程題 獎(jiǎng)學(xué)金(python)

    這篇文章主要為大家詳細(xì)介紹了網(wǎng)易2016研發(fā)工程師編程題:獎(jiǎng)學(xué)金(python),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 詳解Python執(zhí)行py文件是否需要可執(zhí)行權(quán)限

    詳解Python執(zhí)行py文件是否需要可執(zhí)行權(quán)限

    這篇文章主要通過幾個(gè)案例為大家詳細(xì)介紹一下在Python中執(zhí)行py文件是否需要可執(zhí)行權(quán)限,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以了解一下
    2023-03-03
  • Python實(shí)現(xiàn)克里金插值法的過程詳解

    Python實(shí)現(xiàn)克里金插值法的過程詳解

    克里金算法提供的半變異函數(shù)模型有高斯、線形、球形、阻尼正弦和指數(shù)模型等,在對(duì)氣象要素場(chǎng)插值時(shí)球形模擬比較好。本文將用Python實(shí)現(xiàn)克里金插值法,感興趣的可以了解一下
    2022-11-11
  • Django實(shí)現(xiàn)下載超大CSV文件的示例代碼

    Django實(shí)現(xiàn)下載超大CSV文件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用 Django 進(jìn)行大型 CSV 文件的流傳輸,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • python基于http下載視頻或音頻

    python基于http下載視頻或音頻

    這篇文章主要為大家詳細(xì)介紹了python基于http下載視頻或音頻,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解

    Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解

    這篇文章主要給大家介紹了關(guān)于Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • 在Linux系統(tǒng)上部署Apache+Python+Django+MySQL環(huán)境

    在Linux系統(tǒng)上部署Apache+Python+Django+MySQL環(huán)境

    這篇文章主要介紹了在Linux系統(tǒng)上部署Apache+Python+Django+MySQL環(huán)境的方法,使用到了mod_python 與mysqldb模塊進(jìn)行連接,需要的朋友可以參考下
    2015-12-12
  • Python 將字符串轉(zhuǎn)換為列表的7種方法匯總

    Python 將字符串轉(zhuǎn)換為列表的7種方法匯總

    這篇文章主要介紹了Python 將字符串轉(zhuǎn)換為列表的7種方法匯總,在本文中,我們將嘗試將給定的字符串轉(zhuǎn)換為列表,其中根據(jù)用戶的選擇,遇到空格或任何其他特殊字符,為此,我們?cè)趕tring中使用split()方法,需要的朋友可以參考下
    2023-11-11
  • 淺析Python 3 字符串中的 STR 和 Bytes 有什么區(qū)別

    淺析Python 3 字符串中的 STR 和 Bytes 有什么區(qū)別

    Python2的str相當(dāng)于Python3的Bytes,而Unicode相當(dāng)于Python3的Bytes。這篇文章主要介紹了Python 3 字符串中的 STR 和 Bytes 究竟有什么區(qū)別?需要的朋友可以參考下
    2018-10-10
  • python 鏈接和操作 memcache方法

    python 鏈接和操作 memcache方法

    下面小編就為大家?guī)硪黄猵ython 鏈接和操作 memcache方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03

最新評(píng)論