什麼是組合搜尋呢?
比如你想買車,但手裡只有10萬塊!所以你只能在10萬塊的車裡挑選,但你喜歡黑色,因為覺得很高階大氣上檔次,說白了就是裝逼槓槓的!之後售車姐給你拿了個表表,你看到了低於10萬塊且顏色為黑的各種車!其實這就是組合搜尋!
那運用django框架,該程式怎麼實現呢?
那就先看看程式吧!
urls.pyviews
from django.contrib.staticfiles.urls import
staticfiles_urlpatterns
from django.conf.urls import
urlfrom django.contrib import
admin
from django.urls import
path
urlpatterns =[
path(
'admin/
', admin.site.urls),
url(r
'^article-(?p\d+)-(?p\d+).html
',views.article), #
定義模板的名字
]
models.pyfrom django.db import
models
class category(models.model): #
建立分類表
caption = models.charfield(max_length=16)
class articletype(models.model): #
建立文章技術語言類
caption = models.charfield(max_length=16)
class article(models.model): #
建立文章表
title = models.charfield(max_length=32) #
文章標題
content = models.charfield(max_length=255) #
文章內容
category = models.foreignkey(to='
category
',to_field='
id',on_delete=models.cascade) #
文章分類
article_type = models.foreignkey(to='
articletype
',to_field='
id',on_delete=models.cascade) #
文章型別
#type_choice = ( #可以替換上面的class articletype(models.model)
#(1,'python'),
#(2,'openstack'),
#(3,'linux'),#)
#article_type_id = models.integerfield(choices=type_choice) #相當於把錶type_choice放到記憶體裡
views.pyfrom django.shortcuts import
render
models
def article(request,*args,**kwargs): #
可以取任意數
print(kwargs) #
kwargs== 裡面傳遞了兩個引數
condition = {} #
建立乙個空的字典
for k,v in kwargs.items(): #
k為article_type_id、category_id
kwargs[k] = int(v)
if v == '
0': #
如果字典中的值(value)為0時
pass
else: #
不為0時
condition[k] = v #
把v放入到k中 # k為article_type_id、category_id
#article_type_list = models.articletype.objects.all()
article_type_list = models.articletype.objects.all() #
文章技術語言類列表
category_list = models.category.objects.all() #
分類 result = models.article.objects.filter(**condition) #
按condition內容裡的條件進行查詢
return
render(
request,
'article.html',
) #create your views here.
doctype html>
<
html
lang
="en"
>
<
head
>
<
meta
charset
="utf-8"
>
<
title
>
title
>
<
style
>
.condition a
.condition a.active
style
>
head
>
<
body
>
<
h1>過濾條件
h1>
<
div
class
="condition"
>
<
div>
<
a class
="active"
href
="">全部
a>
<
a href
="">全部
a>
<
a class
="active"
href
="">}
a>
<
a href
="">}
a>
div>
<
div>
<
a class
="active"
href
="">全部
a>
<
a href
="">全部
a>
<
a class
="active"
href
="">}
a>
<
a href
="">}
a>
div>
<
h1>查詢結果
h1>
<
ul>
<
li>}-}
li>
ul>
body
>
html
>
資料庫的表前端主頁:
django之Form元件補充
自定義驗證規則 方法一 from django.forms import form from django.forms import widgets from django.forms import fields from django.core.validators import regexval...
Django之auth認證元件
此時我們需要實現包括使用者註冊 使用者登入 使用者認證 登出 修改密碼等功能,這還真是個麻煩的事情呢。django作為乙個完美主義者的終極框架,當然也會想到使用者的這些痛點。它內建了強大的使用者認證系統 auth,它預設使用 auth user 表來儲存使用者資料。建立使用者 python mana...
Django之元件 中介軟體
中介軟體是介於request與response處理之間的一道處理過程,相對比較輕量級,並且在全域性上改變django的輸入與輸出。因為改變的是全域性,所以需要謹慎實用,用不好會影響到效能 1寫乙個類,繼承middlewaremixin,2在類中寫方法 process request 3 在setti...