teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

生成したいファイルの全文を表示

2017/08/18 05:04

投稿

Alice1017
Alice1017

スコア24

title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,77 @@
2
2
 
3
3
  いまPythonでjinja2テンプレートを出力するプログラムを作っているのですが、**jinja2テンプレートの中で文字列をフォーマットしようとする**と、いろいろな問題が起きてしまったので質問します。
4
4
 
5
+ ### 追記
6
+
7
+ 質問がわかりにくかったようです。申し訳ございませんでした。
8
+ 私の目的は **Jinja2テンプレートファイルをgenerateする** ことです。
9
+ 生成するJinja2テンプレートファイルの内容は以下の通りです。
10
+
11
+ ```
12
+ {%- set title="[main_title]" %}
13
+ {%- set description="[description]" -%}
14
+
15
+ {%- extends "outer.jinja2" -%}
16
+
17
+ {% block breadcrumb %}
18
+
19
+ <nav class="BreadCrumb" data-element="foundation">
20
+ <div class="bread-crumb-container" data-element="container">
21
+ <ol class="bread-crumb" data-grid="12" data-element="component" itemscope itemtype="http://schema.org/breadcrumblist">
22
+
23
+ <li class="crumb" itemprop="itemlistelement" itemscope itemtype="http://schema.org/listitem">
24
+ <a class="link" href="/" itemprop="item">
25
+ <span itemprop="name">top</span>
26
+ </a>
27
+ </li>
28
+
29
+ <li class="crumb" itemprop="itemlistelement" itemscope itemtype="http://schema.org/listitem">
30
+ <a class="link" href="[parent_link]" itemprop="item">
31
+ <span itemprop="name">[parent]</span>
32
+ </a>
33
+ </li>
34
+
35
+ <li class="crumb" itemprop="itemlistelement" itemscope itemtype="http://schema.org/listitem">
36
+ <a class="link" href="[link]" itemprop="item">
37
+ <span itemprop="name">[title]</span>
38
+ </a>
39
+ </li>
40
+
41
+ </ol>
42
+ </div>
43
+ </nav>
44
+
45
+ {% endblock %}
46
+
47
+ {% block article %}
48
+ <article class="main-contents" data-grid="9" data-element="component">
49
+ <header class="content-header" data-element="component">
50
+ <h3 class="entypo-chart-pie title">[title]</h3>
51
+ </header>
52
+
53
+ <section class="content-toc" data-element="component">
54
+ <h4 class="heading">目次</h4>
55
+ <p class="title">[title]</p>
56
+ <ul class="toc">
57
+ <li class="item"><a class="link" href="#"></a></li>
58
+ </ul>
59
+ </section>
60
+
61
+ <section id="" class="content-article" data-element="component">
62
+ <h4 class="heading"></h4>
63
+ <p class="sentence"></p>
64
+ </section>
65
+
66
+ <footer class="content-footer" data-element="component">
67
+ </footer>
68
+ </article>
69
+
70
+ </div>
71
+ </main>
72
+ {% endblock %}
73
+ ```
74
+ この内容を生成したいがために `[main_title]` の部分をフォーマットする必要があるのです。
75
+
5
76
  ## パターン1 {} の場合
6
77
 
7
78
  ```