2012-09-15 29 views
2

我正在使用Jinja2和GAE,並且使用輔助函數來呈現HTML文件。當我嘗試渲染嵌套在子目錄(遊戲化)中的HTML文件時,Jinja似乎沒有拉出CSS和圖像文件。有誰知道我該怎麼辦?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> 

回答

2

看起來你沒有申報的IMG和CSS的靜態目錄。
類似:

- url: /css 
    static_dir: css 
+0

我不得不添加「application_readable:真」。否則我的網頁將無法加載。 Google文檔:https://cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Static_file_handlers –

1

是的,我有同樣的問題。你需要做這樣的事情:

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

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

(當然,與任何子目錄你的CSS和JS文件夾位於代替「模板」)