标签: jinja2

Django:切换到Jinja2?

我有一些小的(500或600行模板代码)Django站点,我想将它们迁移到使用Jinja2 ......但是我想知道它将会有多少工作.那么,一般来说,将一个小的Django站点迁移到Jinja2有多少工作?它是否"值得"?

django django-templates jinja2

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

将字符串拆分为jinja中的列表?

我在jinja2模板中有一些变量,这些变量是由';'分隔的字符串.

我需要在代码中单独使用这些字符串.即变量是variable1 ="green; blue"

{% list1 = {{ variable1 }}.split(';') %}
The grass is {{ list1[0] }} and the boat is {{ list1[1] }}
Run Code Online (Sandbox Code Playgroud)

我可以在渲染模板之前将它们拆分,但由于它有时在字符串中最多有10个字符串,因此会变得混乱.

在我做之前我有一个jsp:

<% String[] list1 = val.get("variable1").split(";");%>    
The grass is <%= list1[0] %> and the boat is <%= list1[1] %>
Run Code Online (Sandbox Code Playgroud)

编辑:

它适用于:

{% set list1 = variable1.split(';') %}
The grass is {{ list1[0] }} and the boat is {{ list1[1] }}
Run Code Online (Sandbox Code Playgroud)

python jinja2

55
推荐指数
3
解决办法
9万
查看次数

逃避Ansible中的双花括号

如何逃避Ansible 1.9.2中的双花括号?

例如,如何在以下shell命令中转义双花括号?

- name: Test 
  shell: "docker inspect --format '{{ .NetworkSettings.IPAddress }}' instance1"
Run Code Online (Sandbox Code Playgroud)

jinja2 ansible docker

55
推荐指数
6
解决办法
3万
查看次数

ImportError:无法从“jinja2”导入名称“Markup”

Flask==1.0.2当我最近部署包含和的项目时Jinja2>=2.10.1,出现以下错误。我前一天部署的时候运行得很好。我尝试更新,Jinja2但这并没有解决问题。

  File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/local/lib/python3.7/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked …
Run Code Online (Sandbox Code Playgroud)

python jinja2 flask

55
推荐指数
5
解决办法
13万
查看次数

Flask - 访问模板中的config变量

我正在使用Flask 0.7版.我已将静态内容的路径存储在配置文件中并使用它加载

app.config.from_envvar(<file_name>)
Run Code Online (Sandbox Code Playgroud)

我是否可以在模板中访问此配置变量而无需通过视图传递变量?

python jinja2 flask

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

是否可以将Angular与Jinja2模板引擎一起使用?

我有一个Flask站点,我想使用Angular JavaScript框架.不幸的是,似乎分隔符重叠.

如果两者都依赖于双花括号({{ expr }}),我如何使用Angular和Jinja2 ?它甚至可能吗?

python delimiter jinja2 flask angularjs

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

如何遍历jinja模板中的字典列表?

我试过了

list1 = [{"username": "abhi", "pass": 2087}]
return render_template("file_output.html", list1=list1)
Run Code Online (Sandbox Code Playgroud)

在模板中

<table border=2>
  <tr>
    <td>
      Key
    </td>
    <td>
      Value
    </td>
  </tr>
  {% for dictionary in list1 %}
    {% for key in dictionary %}
      <tr>
        <td>
          <h3>{{ key }}</h3>
        </td>
        <td>
          <h3>{{ dictionary[key] }}</h3>
        </td>
      </tr>
    {% endfor %}
  {% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)

上面的代码将每个元素分成多个

核心价值 [

{

"

ü

小号

e ...

我在一个简单的python脚本中测试了上面的嵌套循环,它工作正常,但不是在jinja模板中.

python iteration dictionary jinja2 flask

53
推荐指数
3
解决办法
13万
查看次数

什么是最快的Python模板系统?

Jinja2和Mako显然都非常快.

这些比较如何(功能较少但可能对我正在做的事情足够好)string.Template?

python template-engine mako django-templates jinja2

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

Jinja模板是否有惯用的文件扩展名?

我需要以编程方式区分Jinja模板文件,其他模板文件(如ERB)和无模板纯文本文件.

根据Jinja文件:

Jinja模板不需要具有特定的扩展名:.html,.xml或任何其他扩展名就可以了.

但是当需要显式扩展时我应该使用什么?.py是误导性的,包括"jinja"和"extension"在内的任何搜索都被关于Jinja Extensions的讨论严厉搜索.

我可以轻松地规定一个项目范围的惯例(.jnj或者.ja想到),但这是开源的,所以如果已经在某处建立了实践,我不想逆势而行.


编辑1:同样,我理解Jinja项目 - 有目的地 - 没有定义默认文件扩展名.我问的是,是否有任何非官方的惯例出现在某些项目特定原因所需的情况下.


编辑2:澄清:这不适用于HTML内容.

python file-extension templates jinja2

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

如何动态选择要在烧瓶中使用的模板目录?

默认情况下,flask使用存储在"template"目录中的模板文件:

/flaskapp
    /application.py
    /templates
        /hello.html
Run Code Online (Sandbox Code Playgroud)

有没有办法根据用户登录动态选择模板目录?这就是我想要的目录结构:

/flaskapp
    /application.py
    /templates (default template goes here)
        /hello.html
    /userdata
        /user1
            /template1
                 hello.html
            /template2
                 hello.html
        /user2
            /template1
                 hello.html
            /template2
                 hello.html
Run Code Online (Sandbox Code Playgroud)

现在如果我有登录用户的用户名和用户激活的模板名称,是否可以动态选择加载模板文件的目录?例如,

/userdata/<username>/<activated template name>/
Run Code Online (Sandbox Code Playgroud)

而不是固定的

/templates/
Run Code Online (Sandbox Code Playgroud)

我想要实现的是像我的网络应用程序的主题系统的wordpress,用户可以上传/选择他的网站的主题.

python jinja2 flask

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