第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 Django HTML 模板中包含一個(gè)簡(jiǎn)單的函數(shù)

在 Django HTML 模板中包含一個(gè)簡(jiǎn)單的函數(shù)

我目前有一個(gè)名為“copyright”(動(dòng)態(tài)版權(quán)消息)的函數(shù),我試圖將其包含到我的基本 Django 模板中,如下所示:def copyright():   some code   some more code   print(finaloutput)我把它放在我的 modules/utils.py 中,它位于我在靜態(tài)目錄中注冊(cè)的資產(chǎn)目錄中。我希望能夠直接在我的主模板文件夾內(nèi)的頂級(jí) base.html 中調(diào)用該函數(shù),例如 {{copyright}}。我已經(jīng)嘗試了一切以確保我在沒(méi)有運(yùn)氣的情況下加載靜態(tài)文件。我是否以錯(cuò)誤的方式接近這個(gè)?
查看完整描述

2 回答

?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊

不幸的是,您在這里所做的幾乎所有事情都是錯(cuò)誤的。


這與靜態(tài)文件無(wú)關(guān):正如您自己所說(shuō),這是一個(gè)動(dòng)態(tài)函數(shù),因此根據(jù)定義不是靜態(tài)的。無(wú)論如何,您不能將 Python 代碼放在您的資產(chǎn)目錄中。最后,任何像這樣的函數(shù)總是需要返回結(jié)果,而不是打印它。


這里你需要的是一個(gè)模板標(biāo)簽,你把它放在你的應(yīng)用程序的 templatetags 目錄中并通過(guò)裝飾器注冊(cè):


@register.simple_tag

def copyright():

   some code

   some more code

   return finaloutput

然后,在模板中加載標(biāo)簽并將其稱為標(biāo)簽,而不是變量:


{% load utils %}  # or whatever you called the file

...

{% copyright %}

請(qǐng)參閱模板標(biāo)簽文檔。


查看完整回答
反對(duì) 回復(fù) 2021-09-25
?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

有幾種方法可以實(shí)現(xiàn)您的最終目標(biāo),但是您所做的任何事情都不會(huì)使您達(dá)到目標(biāo)。

你可以,

  1. 使用模板標(biāo)簽

  2. 以幾種不同的方式使用上下文處理器。

  3. 使用{{ view.function_name }}AS-是在你的模板,如果你使用的是來(lái)自Django的基于類的通用視圖。

從我認(rèn)為您設(shè)置的方式來(lái)看,最快的方法可能是在您的視圖中傳遞一些上下文數(shù)據(jù)。


如果您使用功能視圖,您的代碼可能如下所示:


def my_view(request):

    def copyright():

        return "copyright 2018"


    return render('my_template.html', {'copyright': copyright})

如果您使用基于類的通用視圖,您可以簡(jiǎn)單地修改您的get_context_data.


class Home(TemplateView):

    def get_context_data(self, *args, **kwargs):

        ctx = super(TemplateView, self).get_context_data(self, *args, **kwargs)

        ctx['copyright'] = self.copyright()

        return ctx


    def copyright(self):

        return "copyright 2018"


查看完整回答
反對(duì) 回復(fù) 2021-09-25
  • 2 回答
  • 0 關(guān)注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)