Diango部落格 21 實現簡單的全文搜尋

2021-10-05 06:47:28 字數 1458 閱讀 7947

搜尋是乙個複雜的功能,但對於一些簡單的搜尋任務,我們可以使用 django model 層提供的一些內建方法來完成,比如post.objects.filter()方法。現在我們來為我們的部落格提供乙個簡單的搜尋功能。

整個過程就是這樣,下面來看看 django 如何用實現這些過程。

在部落格上為使用者提供乙個搜尋表單,html 表單**大概像這樣:

檔案位置:templates/base.html

"search" method=

"get"id=

"searchform" action=

"">

<

input

type

="search" name=

"q" placeholder=

"搜尋" required>

="submit"

>

="ion-ios-search-strong"

>

<

/span>

<

/button>

<

/form>

特別注意這裡 中的 name 屬性,當使用者在這個 input 中輸入搜尋內容並提交表單後,鍵入的資料會以鍵值對的形式提交伺服器,這個鍵的名字就是通過 name 屬性指定的。這樣伺服器就可以根據 name 的值來取得使用者輸入的內容。

搜尋的功能將由 search 檢視函式提供,**寫在 blog/views.py 裡:

檔案位置:blog/views.py

from django.contrib import messages

defsearch

(request)

: q = request.get.get(

'q')

ifnot q:

error_msg =

messages.add_message(request, messages.error, error_msg, extra_tags=

'danger'

)return redirect(

'blog:index')

post_list = post.objects.

filter

(q(title__icontains=q)

| q(body__icontains=q)

)return render(request,

'blog/index.html'

,)

有了檢視函式後記得把檢視函式對映到相應了 url,如下。

檔案位置:blog/urls.py

urlpatterns =

[# 其他 url 配置

path(

'search/'

, views.search, name=

'search'),

]

基於Flask實現簡單的部落格系統

這是用flask寫的簡單的部落格系統。blog admin 藍圖目錄 views html模板目錄 admin.py url 視 件 article 藍圖目錄 views html模板目錄 admin.py url 視 件 static 靜態檔案目錄 templates html模板目錄 confi...

HTML的簡單介紹(21)

影象標籤 img 和源屬性 在 html 中,影象由 標籤定義。img 是空標籤,意思是說,它只包含屬性,並且沒有閉合標籤。要在頁面上顯示影象,你需要使用源屬性。src 指 source 源屬性的值是影象的 url 位址。定義影象的語法是 img src url 瀏覽器將影象顯示在文件中影象標籤出現...

2 1 Linux下實現簡單UDP通訊

1.建立socket 1 使用socket函式,socket 組,傳輸型別,協議 2 組包括 目前使用af inet af inet ipv4 af inet6 ipv6 3 傳輸型別 目前實現udp使用sock dgram sock stream 雙向可靠位元組流 sock dgram 支援無連線...