我正在使用Jinja2和GAE,我正在使用辅助函数来呈现HTML文件。当我尝试渲染嵌套在子目录(Gamification)中的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
main.py
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>
答案 0 :(得分:1)
是的,我遇到了同样的问题。你需要做这样的事情:
- url: /.*/css
static_dir: templates/css
- url: /.*/js
static_dir: templates/js
(当然,将“templates”替换为css和js文件夹所在的子目录)