路径解析

问题描述:

我使用CherryPy的Jinja2的与模板从“若干意见”的目录是这样的:路径解析

env = Environment(loader = FileSystemLoader('views')) 

当我呈现的索引页:

index = env.get_template('index.html') 

它显示了罚款,但引用的css,javascripts和图像(在index.html中)未被解析:

<head> 
    <link rel="stylesheet" type="text/css" media="screen" href="css/web.css"> 
    <link rel="shortcut icon" type="image/png" href="img/favicon.png"> 
    <script src="js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script> 
</head> 

文件系统是有组织的ke:views/css,views/js,views/img

什么是获得工作文件解析的可靠方法?

Jinja模板中的静态路径与Jinja无关。这完全是关于Web服务器的配置。如果您使用的烧瓶中,用SharedDataMiddleware调度静态文件,即

from werkzeug import SharedDataMiddleware 
app.wsgi_app = SharedDataMiddleware(app.wsgi_app, 
            { '/static': '/path/to/static/files' }) 

静态目录的结构:

.../static/ 
      img/ 
      css/ 
      js/ 
      etc/ 

不要忘记在路径的开头添加斜线:

<link rel="shortcut icon" type="image/png" href="/static/img/favicon.png"> 

强烈建议在生产服务器上使用SharedDataMiddleware。 Nginx是正确的。

+0

我在一个不同的设置,但帮助进行:我没有在我的静态路径开始的斜杠。现在一切正常,+1! – dwanderson 2014-02-09 23:18:19

+0

Downvoter,谨慎讲解? – 2014-05-04 08:47:24