日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stark组件开发之组合搜索基本显示

發布時間:2023/11/29 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stark组件开发之组合搜索基本显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據的獲取,上一篇,已經有了!然后就是,如何進行展示的問題。
到了展示這里,又有了新的問題, 因為從數據庫,取得的數據。 分為 queryset 和 tuple 兩種數據結構。
tuple 中,只是字符串。 queryset中確實,model對象。

而且? 這些渲染出來后,全部都是 a 標簽。 是可以點擊的, 所以 href 超鏈接屬性,是必須要有的。 而且還有一點是,默認選中。
  用戶選擇之后, 應該有一個提示,我當前選擇的是那個標簽。? 而且因為組合搜索,先選中的條件,不能夠被刷新。

這種的 如果依靠模板做的話,也可以。但是代碼就過于繁瑣了。
所以,決定這件事由,后端 python 代碼來實現,? 實現的方式,還是通過。 類。 生成對象來實現:
在這里先,拋出一個知識點:? 可迭代對象:

這張圖片展示的是,不可迭代對象。 如果視圖對這個對象。進行迭代。 是會報錯的。

那么,該怎么搞呢?

定義: 如果一個類中,定義了 def __iter__ (self)? 方法。且該方法返回一個 迭代器 iterator。 那么就稱該類實例化的對象為一個可迭代對象。? 那么這個對象就可以被循環。

迭代器和生成器。 生成器也是一種特殊的迭代器。? yield

這時, 你會發現。? 11? 22? 33 被打印出來了!

而且這里,不一定非要是 [11,22,33,]?? iter 函數里面。 可以隨便定義。 只要返回值,是一個 迭代器就可以。

so, 我在模板中,對這個類實例化的對象。進行 for 循環。 不就可以拿到它里面的值了嗎?

看例子:

?

?

成功的在,頁面展示了。所有的數據。? 注意: 財務 和? CEO 雖然顯示的是,字符串。 是因為我在? model 的類中, 定義了 __str__
,其實 他是一個對象。

這樣,我們就可以在。 這了 __iter__ 方法里面。進行判斷。 當前數據的類型。 從而返回不同的數據。
而模板中就只需要,一個 簡單的, 兩層循環, 就能完成。 想要的工作。

?so? 我這里使用。? yield? 生成器的方式。 來做這件事:

class SearchGroupRow(object):def __init__(self, queryset_or_tuple):self.queryset_or_tuple = queryset_or_tupledef __iter__(self):# if isinstance(self.queryset_or_tuple, list):# for item in self.queryset_or_tuple:# yield "<a href='#'>%s</a>" % item[1]# else:# for item in self.queryset_or_tuple:# if isinstance(item, Model):# print(item)# yield "<a href='#'>%s</a>" % itemfor item in self.queryset_or_tuple:if isinstance(item, tuple):yield "<a href='#'>%s</a>" % item[1]else:yield "<a href='#'>%s</a>" % item
# 這里兩種方式, 都可以。完成 這個工作。

?

{% for row in search_group_row_list %}{% comment %}row是queryset 或者 元組{% endcomment %}<div>{% for item in row %}{{ item|safe }}{% endfor %}</div>{% endfor %}

?

?

OK? 成功。

?

轉載于:https://www.cnblogs.com/chengege/p/10744787.html

總結

以上是生活随笔為你收集整理的stark组件开发之组合搜索基本显示的全部內容,希望文章能夠幫你解決所遇到的問題。

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