免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      Flask博客實(shí)戰(zhàn) – 實(shí)現(xiàn)全站導(dǎo)航菜單及首頁(yè)數(shù)據(jù)展示

      Flask博客實(shí)戰(zhàn) - 實(shí)現(xiàn)全站導(dǎo)航菜單及首頁(yè)數(shù)據(jù)展示

      Flask上下文處理器

      我們博客的設(shè)計(jì)是全站頂部菜單為通用菜單,調(diào)用的數(shù)據(jù)為文章的分類,那么如何將文章分類數(shù)據(jù)傳遞到每個(gè)頁(yè)面的上下文呢?

      為了將新變量自動(dòng)注入模板的上下文中,F(xiàn)lask 中存在上下文處理器context_processor。上下文處理器在呈現(xiàn)模板之前運(yùn)行,并且能夠?qū)⑿轮底⑷肽0迳舷挛摹I舷挛奶幚砥魇欠祷?span id="dr94ral" class="wpcom_tag_link">字典函數(shù)。然后,對(duì)于應(yīng)用程序中的所有模板,此字典的鍵和值將與模板上下文合并:

      用法如下所示,這只是一個(gè)例子:

      @app.context_processordef inject_user(): return dict(user=g.user)

      上面的上下文處理器是一個(gè)名為 user 的變量在模板中可用,其值為 g.user。這個(gè)例子不是很有趣,因?yàn)間無(wú)論如何都可以在模板中使用,但它給出了它是如何工作的。

      變量不限于值;上下文處理器還可以使函數(shù)可用于模板(因?yàn)镻ython允許傳遞函數(shù)):

      @app.context_processordef utility_processor(): def format_price(amount, currency=” “): return f”{amount:.2f}{currency}” return dict(format_price=format_price)

      上面的上下文處理器使format_price函數(shù)可用于所有模板:

      {{ format_price(0.33) }}

      您還可以將format_price構(gòu)建為模板篩選器,但這演示了如何在上下文處理器中傳遞函數(shù)。

      實(shí)現(xiàn)全站導(dǎo)航功能

      知道了上下文處理器的用法,實(shí)現(xiàn)這個(gè)功能就非常簡(jiǎn)單了!

      在RealProject目錄的__init__.py中插入如下一個(gè)上下文回調(diào)函數(shù)

      def inject_category(): # 上下文處理器回調(diào)函數(shù) “”” context_processor上下文處理器在呈現(xiàn)模板之前運(yùn)行,并且能夠?qū)⑿轮底⑷肽0迳舷挛?。上下文處理器是返回字典的函?shù)。 然后,對(duì)于應(yīng)用程序中的所有模板,此字典的鍵和值將與模板上下文合并: “”” from app.blog.models import Category categorys = Category.query.limit(6).all() return dict(categorys=categorys)

      這個(gè)函數(shù)通過(guò)limit()方法查詢出前6個(gè)數(shù)據(jù),并通過(guò)一個(gè)字典返回,之后我們還需要將該回調(diào)函數(shù)注冊(cè)到app的工廠函數(shù)當(dāng)中!

      def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) # 省略部分代碼 # 全局上下文 app.context_processor(inject_category) return app

      在app/blog/templates/base.html中循環(huán)查出我們返回的數(shù)據(jù)即可

      {% block navbar %} 首頁(yè) {% for cate in categorys %} {{ cate.name }} {% endfor %} {% endblock navbar %}

      實(shí)現(xiàn)首頁(yè)視圖數(shù)據(jù)

      在app/blog/views.py文件中的index首頁(yè)視圖函數(shù)中實(shí)現(xiàn)

      def index(): “””首頁(yè)視圖 “”” page = request.args.get(‘page’, 1, type=int) pagination = Post.query.order_by(-Post.add_date).paginate(page, per_page=9, error_out=False) post_list = pagination.items import random imgs = [‘圖一url’, ‘圖二url’, ‘圖三url’] for post in post_list: post.img = random.sample(imgs, 1)[0] # post.img = random.choice(imgs) return render_template(‘index.html’, posts=post_list, pagination=pagination)

      這個(gè)視圖函數(shù)中的查詢邏輯在實(shí)現(xiàn)文章管理的時(shí)候已經(jīng)實(shí)現(xiàn)過(guò),這里唯一不同的區(qū)別就是我給這個(gè)返回?cái)?shù)據(jù)新增了一個(gè)img的屬性,因?yàn)樵跀?shù)據(jù)庫(kù)我們沒(méi)有設(shè)計(jì)文章形象圖字段,我們用這種方式彌補(bǔ),在imgs的列表中預(yù)設(shè)一些圖片的url地址,之后隨機(jī)抽取一個(gè)賦值給img屬性,這樣在模板中直接調(diào)用這個(gè)img屬性就會(huì)獲取到圖片的url!

      在app/blog/templates/base.html中替換相關(guān)循環(huán)數(shù)據(jù)

      {% for post in posts %}

      {{ post.title }}

      {{ post.desc }}

      {{ post.add_date }} {% endfor %}

      最終效果:

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
      用戶投稿
      上一篇 2022年7月4日 09:21
      下一篇 2022年7月4日 09:21

      相關(guān)推薦

      • dnf一鍵拾取(dnf一鍵拾取是全圖的嗎)

        今天小編給各位分享dnf一鍵拾取的知識(shí),其中也會(huì)對(duì)dnf一鍵拾取是全圖的嗎進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! dnf如何一鍵拾取物品 dnf一鍵…

        2022年11月27日
      • 存儲(chǔ)過(guò)程語(yǔ)法(sql server存儲(chǔ)過(guò)程語(yǔ)法)

        今天小編給各位分享存儲(chǔ)過(guò)程語(yǔ)法的知識(shí),其中也會(huì)對(duì)sql server存儲(chǔ)過(guò)程語(yǔ)法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! oracle存儲(chǔ)過(guò)程基本語(yǔ)法…

        2022年11月26日
      • 《寶可夢(mèng)朱紫》獒教父屬性是什么?獒教父屬性一覽

        寶可夢(mèng)朱紫里獒教父是一只很強(qiáng)的寶可夢(mèng),很多玩家不清楚獒教父的屬性是什么樣的,下面就給大家?guī)?lái)寶可夢(mèng)朱紫獒教父屬性一覽,感興趣的小伙伴一起來(lái)看看吧,希望能幫助到大家。 獒教父屬性一覽…

        2022年11月25日
      • 《寶可夢(mèng)朱紫》太晶化強(qiáng)力寶可夢(mèng)推薦 太晶化哪些寶可夢(mèng)最強(qiáng)?

        寶可夢(mèng)朱紫游戲中寶可夢(mèng)種類繁多,不過(guò)有的寶可夢(mèng)比較強(qiáng),有的稍弱一些,那么太晶化化哪些寶可夢(mèng)最強(qiáng)呢,為了便于大家更好的體驗(yàn)游戲,這里給大家?guī)?lái)了寶可夢(mèng)朱紫太晶化強(qiáng)力寶可夢(mèng)推薦,一起來(lái)…

        2022年11月25日
      • 寶可夢(mèng)朱紫四大天王屬性怎么樣 四大天王屬性數(shù)值介紹

        寶可夢(mèng)朱紫四大天王屬性如何?四大天王的屬性數(shù)值玩家們還是挺好奇的,想要了解四大天王屬性的可以看看下面小編的介紹,小編會(huì)把四大天王的屬性數(shù)值全都分享在下面,各位趕緊來(lái)小編這里多了解一…

        2022年11月25日
      • 寶可夢(mèng)朱紫皮卡丘多少級(jí)進(jìn)化 皮卡丘進(jìn)化條件攻略

        寶可夢(mèng)朱紫皮卡丘進(jìn)化條件是什么?皮卡丘怎么進(jìn)化?作為最受歡迎的電屬性寶可夢(mèng),大家都很想知道皮卡丘進(jìn)化的方法,今天小編這就在下面的攻略中分享皮卡丘進(jìn)化條件,各位可以趕緊來(lái)小編這里了解…

        2022年11月25日
      • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

        CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊(cè),可以是激活,可以是搜索下載激活,可以是綁卡,實(shí)名認(rèn)證,可以是付費(fèi),可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來(lái)定…

        2022年11月25日
      • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點(diǎn))

        如今抖音這個(gè)短視頻的變現(xiàn)能力越來(lái)越突顯了,尤其是在平臺(tái)上開(kāi)通直播,更具有超強(qiáng)的帶貨屬性,已經(jīng)有越來(lái)越多的普通人加入到其中了。不過(guò)直播帶貨雖然很火,但是也不是每個(gè)人都能做好的,那么在…

        2022年11月24日
      • 《寶可夢(mèng)朱紫》一般道館怎么打?一般道館攻略方法

        寶可夢(mèng)朱紫中玩家可以挑戰(zhàn)各種道館,游戲中一共有8個(gè)道館需要挑戰(zhàn)。很多玩家想知道寶可夢(mèng)朱紫一般道館怎么打,下面就帶來(lái)寶可夢(mèng)朱紫一般道館攻略方法,感興趣的小伙伴不要錯(cuò)過(guò),希望能幫助到大…

        2022年11月24日
      • 《寶可夢(mèng)朱紫》四天王屬性是什么?四天王屬性陣容一覽

        寶可夢(mèng)朱紫中玩家可以挑戰(zhàn)四天王,很多玩家想知道寶可夢(mèng)朱紫四天王屬性是什么,有什么陣容?下面就帶來(lái)寶可夢(mèng)朱紫四天王屬性陣容一覽,感興趣的小伙伴不要錯(cuò)過(guò),希望能幫助到大家。 四天王屬性…

        2022年11月24日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息