[Webpy]在webpy中使用jinja2模板

webpy的模板感觉写小的网页还可以,但是如果要是写比较多的html标签就会显得非常乱,于是决定使用jinja2,这个模板类似django的模板,而且跟其他pythonweb框架的兼容性也比较好。

在项目目录下新建一个settings文件

#-*- coding: utf-8 -*-
__author__  = ‘orangleliu‘

‘‘‘
settings of the project
‘‘‘

import os
import web
from web.contrib.template import render_jinja

#------------------debug----------------------
debug = ‘SERVER_SOFTWARE‘ not in os.environ
web.config.debug = debug

#------------------jinja2----------------------
app_root = os.path.dirname(__file__)
templates_path = os.path.join(app_root, ‘templates‘).replace(‘\\‘, ‘/‘)
render = render_jinja(
    templates_path,
    encoding=‘utf-8‘
)

要在项目目录下新建一个templates文件夹来存放模板文件。

使用:

#-*- coding: utf-8 -*-
__author__ = ‘orangleliu‘
‘‘‘
filename: index.py
create: @20140513
index page handler of this app
‘‘‘

import web
from settings import render

class index:
    def GET(self):
        web.header("Content-Type", "text/html")
        return render.index({})

项目文件的结构如下:

这样就可以使用jinja2模板了。

[Webpy]在webpy中使用jinja2模板,布布扣,bubuko.com

时间: 2024-10-06 03:53:56

[Webpy]在webpy中使用jinja2模板的相关文章

ansible中角色和模板使用及部署lamp平台

一.roles ansilbe自1.2版本引入的新特性,用于层次性.结构化地组织playbook.roles能够根据层次型结构自动装载变量文件.tasks以及handlers等.要使用roles只需要在playbook中使用include指令即可.简单来讲,roles就是通过分别将变量.文件.任务.模块及处理器放置于单独的目录中,并可以便捷地include它们的一种机制.角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中. 一个roles的案例如下所示:        si

【Flask】 Jinja2模板语言

Jinja2 Jinja2是Python Web编程中的主流模板语言.因为flask是基于Jinja2和Werkzeug发展而来,在安装flask的时候jinja2自动就被装在上面了. 之前提到了很多Jinja2的使用方法啊,下面将补充或者更加详细地说明Jinja2作为模板语言的使用. [Jinja2官方文档]http://docs.jinkan.org/docs/jinja2/ ■ 基本语义 看过之前模板的例子就知道,Jinja2做构成的模板文件中,文本内容大致可以分成几个种类.比如特殊文本(

Jinja2模板语言

一,基本使用 flask中默认使用的jinja2模板语言:与django模板语言一样,都是 {{ }} 和 {% %} 1 ,Jinja2模板中的流程控制: Jinja2模板语言中的 for {% for foo in g %} {% endfor %} Jinja2模板语言中的 if {% if g %} {% elif g %} {% else %} {% endif %} 2, 取值方式 字典:可以使用点的方式,还可以使用字典的get("xx"), name["xx&q

SaltStack 使用 Jinja2 模板

Jinja2 是基于 python 的一个模板引擎,如下,使用 Jinja2 实现根据不同的操作系统分发不同的文件: [[email protected] ~]$ cat /srv/salt/test.sls {% set apache_conf = '/etc/httpd/conf/httpd.conf' %} # {% set ... %} 用于设置变量 {% if grains['os'] == 'Debian' %} # {% if ... %} 用于条件判断,用 {% endif %}

Django1.10配置Jinja2模板

1.安装Jinja2模块: pip install jinja2 2.配置settings: TEMPLATES = [     {         'BACKEND': 'django.template.backends.jinja2.Jinja2',         'DIRS': [os.path.join(BASE_DIR, 'templates')],         'APP_DIRS': True,         'OPTIONS': {             'environ

Struts2中使用Velocity模板时模板资源路径配置问题

在Struts2中使用Velocity模板时,如何以相对与Web工程的路径来配置模板资源文件路径这个问题网上千篇一律的来自Velocity官方文档.官方文档中指出如果是Web工程的话,模板的相对路径是工程根路径,今天在使用的时候有如下配置: Velocity.properties(默认在WEB-INF下): resource.loader =file, classclass.resource.loader.description = Velocity Classpath Resource Loa

MyEclipse中修改servlet模板

1.在MyEclipse目录下搜索com.genuitec.eclipse.wizards,得到搜索结果 com.genuitec.eclipse.wizards_8.4.100.me200912131330.jar(我的位置是:C:\Users\Administrator\AppData\Local\Genuitec\Common\plugins): 2.备份,复制粘贴一份,完全关闭MyEclipse: 3.使用winrar打开com.genuitec.eclipse.wizards_8.4.

ArcGIS API for Silverlight代码中使用Template模板

原文:ArcGIS API for Silverlight代码中使用Template模板 在项目开发中,会遇到点选中聚焦闪烁效果,但是因为在使用Symbol的时候,会设置一定的OffSetX和OffSetY,所以聚焦闪烁的时候,有些情况下,会出现闪烁点的位置和Symbol的位置不重叠现象,下面的方法就是解决这个问题的. 1.在Silverlight项目中新建一个文件夹Template,新建一个DefaultMarkerSymbol.xaml的Silverlight资源字典文件,如下图: 2.打开

Asp.Net MVC中使用ACE模板之Jqgrid

第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为后台开发节省了大量时间. 发现虽然不是完美,整体效果还是不错,特此分享给园友.这一节先讲其中的Jqgrid.按照国际惯例,先上两张图. 集成了button,form,treeview以及日历,时间轴.chart等控件,非常丰富.下面是Jqgrid在MVC中的使用. jqgrid的加载,排序,查找都是基于后台方法,不是在内存中完成,但也有一些小坑.下面一一道