2014-05-06 46 views

回答

0

不确定,在哪里找到,Flask只允许一层嵌套。

试试吧。

我有目录./static/html/jobs.html,我得到这个url http://localhost:5000/static/html/jobs.html

1

Flask使用静态路径(默认为/static)和任何文本设置静态文件路径。从source:无论这条路线分配给filename

self.add_url_rule(self.static_url_path + '/<path:filename>', 
    endpoint='static', 
    view_func=self.send_static_file) 

send_to_static通行证。

return send_from_directory(self.static_folder, filename, 
    cache_timeout=cache_timeout) 

如果你看一下sourcesend_from_directory你会看到,它只是使用safe_join(directory, filename)来获取文件路径。

safe_join本身只是做一些工作来规范化路径,并注意文件名中的文件名为..

回到URL routepath匹配任何文本。这就像string,除了它接受斜杠。这意味着您可以在静态文件夹中使用任何级别的嵌套。像/static/file.txt/static/p/a/t/h/t/o/file.txt这样的网址都可以正常工作。只要网址以静态路径开头,您想要的行为开箱即用:

http://localhost:5000/static/css/images/image1.png