中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站后臺(tái)是怎樣制作/經(jīng)典軟文案例100例簡短

網(wǎng)站后臺(tái)是怎樣制作,經(jīng)典軟文案例100例簡短,譽(yù)重網(wǎng)站建設(shè),seo關(guān)鍵詞外包Pyramid 是一個(gè)流行的 Python Web 框架,而 Mako 和 PyJade 是用于模板引擎的工具,它們可以與 Pyramid 配合使用來生成 HTML 內(nèi)容。但是在實(shí)際使用中還是有些差別的,尤其會(huì)遇到各種各樣的問題,下面我將利用我所學(xué)的知識(shí)一一為大家解…

Pyramid 是一個(gè)流行的 Python Web 框架,而 Mako 和 PyJade 是用于模板引擎的工具,它們可以與 Pyramid 配合使用來生成 HTML 內(nèi)容。但是在實(shí)際使用中還是有些差別的,尤其會(huì)遇到各種各樣的問題,下面我將利用我所學(xué)的知識(shí)一一為大家解答。

在這里插入圖片描述

1、問題背景

在 Pyramid 框架中,您可能會(huì)遇到以下問題:

  • 現(xiàn)有項(xiàng)目中存在使用 Mako 編寫的模板 base.mako,您想要將其用作視圖 base_view 的渲染器。
  • 同時(shí),您還需創(chuàng)建一個(gè)新的模板 concrete.jade,它繼承自 base.mako。
  • 您希望能夠根據(jù)文件擴(kuò)展名,使用不同的渲染器來呈現(xiàn)模板。
  • 在使用 PyJade 渲染 concrete.jade 后,您希望能夠進(jìn)一步使用 Mako 編譯器將渲染結(jié)果編譯為最終的 HTML。

2、解決方案

要解決以上問題,您可以按照以下步驟操作:

  1. 安裝 pyramid_makopyjade 包:
pip install pyramid_mako pyjade
  1. 在 Pyramid 項(xiàng)目中,創(chuàng)建一個(gè)新的渲染器工廠,例如 my_renderer_factory.py
from pyramid.interfaces import IRendererFactory
from pyjade import Templateclass MyRendererFactory(IRendererFactory):def __init__(self, info):passdef __call__(self, implementation, info):if implementation == 'mako':return MakoRenderer()elif implementation == 'jade':return PyJadeRenderer()
  1. my_renderer_factory.py 文件中,定義 MakoRendererPyJadeRenderer 類,分別用于渲染 Mako 和 PyJade 模板:
from pyramid.renderers import MakoRenderer, get_rendererclass MakoRenderer(MakoRenderer):def __init__(self, **settings):super().__init__(**settings)def render(self, value, system):# 根據(jù)模板路徑獲取 Mako 模板template = get_renderer(system, self.mako_template).implementation()# 渲染 Mako 模板并返回結(jié)果return template.render(value)class PyJadeRenderer:def __init__(self, **settings):passdef render(self, value, system):# 根據(jù)模板路徑獲取 PyJade 模板template = get_renderer(system, self.jade_template).implementation()# 渲染 PyJade 模板并返回結(jié)果return template.render(value)
  1. 在 Pyramid 配置文件中,注冊 MyRendererFactory
<configurator><renderer_factory pyramid="pyramid.renderers.RendererFactory" /><renderer_factory name="my_renderer_factory" />
</configurator>
  1. 在視圖配置中,指定要使用的渲染器:
config.add_route('base', '/base')
config.add_view(view='my_views.BaseView',route_name='base',renderer='my_renderer_factory:mako/base.mako'
)

對(duì)于繼承自 base.mako 的模板 concrete.jade,您可以使用以下配置:

config.add_route('concrete', '/concrete')
config.add_view(view='my_views.ConcreteView',route_name='concrete',renderer='my_renderer_factory:jade/concrete.jade'
)

這樣,您就可以在 Pyramid 項(xiàng)目中使用 Mako 和 PyJade 來渲染模板,并且可以根據(jù)文件擴(kuò)展名自動(dòng)選擇渲染器。

代碼示例

以下是一個(gè)使用 Mako 和 PyJade 的簡單示例:

from pyramid.config import Configurator
from pyramid_mako import mako_template@mako_template('base.mako')
def base_view(request):return {}@mako_template('concrete.jade')
def concrete_view(request):return {}

從上面的案例中我們清晰的知道,base.mako 是一個(gè) Mako 模板,concrete.jade 是一個(gè) PyJade 模板。這兩個(gè)模板都被編譯為 Mako 模板,最終生成 HTML。至于選擇哪種模式還要結(jié)合自身項(xiàng)目實(shí)際情況而定奪。如果有任何問題可以留言討論。

http://www.risenshineclean.com/news/15.html

相關(guān)文章:

  • 2021年有沒有人給個(gè)網(wǎng)站/全網(wǎng)營銷系統(tǒng)
  • 長江設(shè)計(jì)公司/網(wǎng)絡(luò)優(yōu)化報(bào)告
  • 萬網(wǎng)網(wǎng)站備案多久/免費(fèi)優(yōu)化網(wǎng)站
  • 上海網(wǎng)站排名優(yōu)化公司/谷歌seo快速排名軟件首頁
  • 網(wǎng)站建設(shè)開發(fā)平臺(tái)/網(wǎng)絡(luò)服務(wù)器的作用
  • 做平面什么網(wǎng)站好用/百度禁止seo推廣
  • 中國平面設(shè)計(jì)網(wǎng)站/廣告營銷案例分析
  • 網(wǎng)站建設(shè)橙子/百度教育app
  • 蘇省住房和城鄉(xiāng)建設(shè)廳網(wǎng)站首頁/百度應(yīng)用市場app下載安裝
  • 做網(wǎng)站需要源碼/河南做網(wǎng)站優(yōu)化