标签: template-engine

将列表传递给瓶子中的模板

我有一个列表,其中包含作为元组列表的帖子信息(列表由元组组成),但我面临着如何将其传递给瓶子中的模板的问题,我已经尝试了很多,并检查了 stackoverflow 中的大多数问题,我找不到一个好的且明确的问题。

这是我尝试过的:

@route('/v/:name')
def page_viwer(name):
    id=db.searchU('user', name)
    result=db.searchU_forG(id[0][0])
    if len(result)>0:#if we got posts 
        return template('v',post=result)
Run Code Online (Sandbox Code Playgroud)

这是v.tpl

<html>
%for post in res:
    %for id, title, dec, pic,not_needed in post:
        <h3>{{id}}</h3>
        <h3>{{title}}</h3>
        <h3>{{dec}}</h3>
        <h3>{{pic}}</h3>
        <br/>
%end
</html>
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我收到错误 500 ...当我检查日志时,原因是:

%for id, title, dec, pic in post: TypeError: 'int' object is not iterable

python template-engine wsgi list bottle

2
推荐指数
1
解决办法
5610
查看次数

有没有办法在换行符很重要的纯文本文件中使用 Mako 模板?

在现有的应用程序中,我们使用 Mako 模板(不幸的是..)。这对于 HTML 输出来说没问题,因为换行符并不重要。

但是,我们现在需要使用模板生成文本/纯电子邮件 - 因此控制语句引入的任何换行符都是不可接受的。

Mako 是否提供任何选项来使语句行(即以 开头的语句%行)不会导致输出中出现换行符?我检查了文档,但到目前为止找不到任何东西......

python template-engine mako plaintext

2
推荐指数
1
解决办法
1043
查看次数

使用 mako 脚本进行单行 for 循环输出

是否可以将 mako 脚本的 for 循环仅填充到一行?到目前为止,我看到的所有示例都创建了多行,并且在一行中编写 mako for 循环会导致 mako 错误。

填充 mako 模板的示例代码:

data = ['foo', 'bar', 'baz']
template = Template(filename='test.mak')
template.render(data=data)
Run Code Online (Sandbox Code Playgroud)

模板文件 test.mak (创建多行,这不是我想要的):

items=
% for d in data:
${d}${'' if loop.last else ','}
% endfor
Run Code Online (Sandbox Code Playgroud)

预期的扩展 mako 脚本输出应该是items=foo,bar,baz.

我当前的解决方法是items=${','.join(data)}使用 mako 脚本,但我想知道这是否也可以通过内置的 mako 指令实现。

python template-engine mako

2
推荐指数
1
解决办法
3157
查看次数

在 python 中从 HTML 模板生成 HTML?

我想用JSPor之类的标签设计自己的 HTML 模板Jade,然后将数据从 python 传递给它并让它生成完整的 html 页面。

我不想像DOM. 只有数据进入页面,页面模板决定数据如何布局。

我不想使用 HTTP 提供结果页面,只想生成 HTML 文件。

是否可以?

更新

我找到了 Jinja2,但我有奇怪的样板要求。例如,他们希望我创造环境

env = Environment(
    loader=PackageLoader('yourapplication', 'templates'),
    autoescape=select_autoescape(['html', 'xml'])
)
Run Code Online (Sandbox Code Playgroud)

同时说yourapplication找不到包。如果我删除loader参数,它会在线抱怨

template = env.get_template('mytemplate.html')
Run Code Online (Sandbox Code Playgroud)

no loader for this environment specified
Run Code Online (Sandbox Code Playgroud)

我可以只从磁盘读取模板并用变量填充它,而不需要额外的东西吗?

html python template-engine jinja2 python-3.x

2
推荐指数
1
解决办法
1万
查看次数

自定义php模板引擎:我终于走上了正轨吗?

因为我一直很晚才回答标记php的问题,我实际上知道答案,我想我会尝试自己提问.

我已经在php中对自定义模板引擎进行了如此多的完整重写,这么长时间以来,我以为我会征求意见.

简而言之,这是我迄今为止实施的最重要的部分:

  1. 任何http请求都被路由到handler.php
  2. 根据请求的URL,实例化控制器并调用该控制器上的方法.
  3. 控制器方法必须返回IView兼容的类实例(IView定义Render()方法)
    1. 模板引擎为每个以'serverside'结尾的命名空间执行一些xpath sprintf('//%s:*[@runat="server"]', $namespaceprefix )
    2. 对于每个找到的标记,它查找由标识的php类$tag.localName并实例化一个并将其附加到原始模板.
    3. 连接后,原始模板节点将被送入"ServerTag",以便正确初始化
    4. 完全完整的IView兼容实例被分配给控制器方法中的临时变量.
  4. 控制器要求将数据从Model类推送到视图,该视图执行一些漂亮的xpath DOM替换.
  5. 控制器将完全填充的视图返回给main()处理程序,处理程序将呈现它.

我的模板基于xml.一个简单的模板目前看起来像:

<html xmlns="http://www.w3.org/1999/xhtml" 
  xmlns:red="http://www.theredhead.nl/serverside">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Title will be filed by the View depending on the Controller</title>
    <link rel="stylesheet" type="text/css" href="/Stylesheet/Get/Main/" />
</head>
<body>
    <!-- the entire body may be reset by the view using it, using XPath and DOM functions -->
    <!-- Usually the PageHeader and PageFooter would be …
Run Code Online (Sandbox Code Playgroud)

php xml template-engine conceptual

1
推荐指数
1
解决办法
1799
查看次数

php爆炸不能在javascript模板中工作

我知道有些帖子已经涉及同一主题.

以下是链接:

Javascript模板引擎与jQuery一起使用

什么是x-tmpl?

我正在尝试将php爆炸功能合并到一个javascript模板中.该插件是我从GitHub下载的blueimp @ https://github.com/blueimp/jQuery-File-Upload/downloads的 jQuery-File-Upload .

以下是我的代码的一部分,我正在尝试执行并使其工作.

         <!-- The template to display files available for download -->
         <script id="template-download" type="text/x-tmpl">
         {% for (var i=0, file; file=o.files[i]; i++) { %}
             <tr>
                <td>
                     <?php echo "{%=file.name%}"; ?> //{%file.name%} contains a string seperated by underscores
                     <?php $file_name_long = '{%=file.name%}'; ?>
                     <?php $file_name = explode ('_' , $file_name_long); ?>
                     <?php print_r($file_name); ?>
                </td>
             </tr>
               ...
               ...
Run Code Online (Sandbox Code Playgroud)

我能够将$ file_name打印为数组,但是我无法通过file.name中的下划线将其分开.打印的数组按照file.name包含整个字符串.

我不确定这是否可行.我一整天都在努力.如果这不可行或逻辑上不正确,请告诉我,以便我可以停止尝试使这项工作.谢谢和赞赏.

javascript php jquery json template-engine

1
推荐指数
1
解决办法
419
查看次数

如何渲染arraylist或list并在模板播放框架2.x中处理它

我很熟悉Play 1.x.但我不得不使用cassandraDB.这就是我必须使用的原因Play 2.x

然而Scala真的混合了一切.模板是非常不同的Play 2.x.例如,在Play 1.x我简直发送任何参数为String,int,object例如,arraylist等等.

在渲染到视图模板时,可以在模板中轻松使用这些参数.我不知道如何成功,Play 2.x只有一个渲染,它只是让我渲染一个String.

我在Play 2.x文档中读到了一些相关内容.你能告诉我一些例子或者给我一些关于这方面的教程吗?

template-engine playframework-2.0

1
推荐指数
1
解决办法
6433
查看次数

twig模板如何将工作表扩展或预先添加到现有列表的末尾

我希望在树枝中扩展样式表列表.我尽可能地删除了代码,以说明我想要实现的目标.

base.html.twig

<!DOCTYPE html>
<html>
  <head>
    <title>Some title</title>

    {% block stylesheets %}
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
    <link href="css/custom-theme/jquery-ui-1.10.0.custom.css" rel="stylesheet" media="screen">
    {% endblock %}

  </head>

  <body>
    {% block content %}
        .. content for body goes here etc
    {% endblock content %}

  </body>

<!-- rest of template --!>
Run Code Online (Sandbox Code Playgroud)

然后,我重用基本模板,但我不想重新放置所有样式表,我只想在列表的末尾添加一个?

使用base的模板

{% extends 'sjQueryBundle::base.html.twig' %}

{% block stylesheets %}
<link href="css/sales-journal.css" rel="stylesheet" media="screen">
{% endblock %}

{% block content %}
  some template stuff here
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)

上面的问题是它完全取代了样式表块我只是想将sales-journal.css添加到最后?

php templates template-engine symfony twig

1
推荐指数
1
解决办法
548
查看次数

Markdown to Markdown的模板语言

我正在寻找一个简单的模板引擎,它将YAML剪切为上下文,并且非常适合阅读Markdown以及一些标记来生成Markdown.我尝试过Jekyll的液体,它起作用,除了在Markdown中非常重要的空白.

例如,使用此输入...

---
samples:
- name: one
  samplecode: |
    function sample() {
      return 1;
    }
- name: two
  samplecode: |
    function sample() {
      return 2;
    }
---

{% for s in page.samples %}
- {{s.name}}

        {{s.samplecode}}

{% endfor %}
Run Code Online (Sandbox Code Playgroud)

输出是:

- one

        function sample() {
  return 1;
}

- two

        function sample() {
  return 2;
}
Run Code Online (Sandbox Code Playgroud)

而不是以下实际上与Pandoc一起使用的:

- one

        function sample() {
          return 1;
        }

- two

        function sample() {
          return 2;
        }
Run Code Online (Sandbox Code Playgroud)

这实际上已经为Jekyll讨论过.

所以我的问题是:有没有适合我需求的简单模板引擎?

markdown yaml template-engine pandoc

1
推荐指数
1
解决办法
1417
查看次数

将字符串解析为JSON

我有一个对象数组,$arr一个对象有一个名为的属性,jsonData其中包含一个字符串中的json数据,如何将该字符串解析为实际的JSON对象,并检索让我们说键的值name?我试过这个:

#foreach ($obj in $arr)
    #set ($jsonData = "#evaluate(${obj.jsonData})")
    $jsonData.get("name")  ## <-- not working
#end
Run Code Online (Sandbox Code Playgroud)

velocity template-engine

1
推荐指数
2
解决办法
4692
查看次数