2

我正在使用 Jinja2 和 GAE,并且正在使用辅助函数来呈现 HTML 文件。当我尝试渲染嵌套在子目录(游戏化)中的 HTML 文件时,Jinja 似乎没有提取 CSS 和图像文件。有谁知道我应该怎么做?

我目前的 YAML 结构如下

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: .*
  script: main.app

libraries:
- name: webapp2
  version: "2.5.1"
- name: jinja2
  version: latest

我当前的目录结构就是这样。

Main directory
|
 -- main.py

|
 ----Templates
     |
      --Gamification
        |
         --index.html
           |
            --CSS
              |
               --1.css
           |
            --img
              |
               --1.jpef

主文件

jinja_environment = jinja2.Environment(loader=jinja2.FileSystemLoader(['Templates', 'Templates\Gamification']));
def import_html(self, address, val = {}):
    template = jinja_environment.get_template(address);
    self.write(template.render(val));

有问题的html文件如下:

<!DOCTYPE html>
<html>
  <head>
    <title>Gamification</title>
    <link href="css/bootstrap.css" rel="stylesheet">
  </head>

  <body>

<img src = "img/dan.jpeg" class = "img-rounded" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
4

2 回答 2

2

看起来您没有为 img 和 css 声明静态目录。
就像是:

- url: /css
  static_dir: css
于 2012-09-15T06:09:24.550 回答
1

是的,我有同样的问题。你需要做这样的事情:

- url: /.*/css
  static_dir: templates/css

- url: /.*/js
  static_dir: templates/js

(当然,用您的 css 和 js 文件夹所在的任何子目录替换“模板”)

于 2013-12-30T15:06:46.903 回答