2013-02-05 51 views
22

我有一个名为showMap.html外部JavaScript运行时,在烧瓶

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<title>Map</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">    
</script> 
<script type="text/javascript" src="js/map.js"></script> 
</head> 
<body onload="showPosition()"> 
<div id="map_canvas" style="width:500px;height:500px;"></div> 
</body> 
</html> 

一个HTML文件,但未得到补充文件的另一JavaScript文件map.js被放置在同一directory.This代码的js文件夹当html文件被加载时工作正常。但是当我在服务器上运行它时,这是行不通的。我使用python烧瓶框架进行后端编程。有趣的是,如果我展开JavaScript代码在html文件中。唯一的问题是与外部文件。

回答

53

即成map.js文件作为static resource

  • 将文件移动到一个static/子目录你的包

  • 产生一个静态的URL在Jinja2的模板,像这样:

    <script type="text/javascript" src="{{ url_for('static', filename='map.js') }}"></script> 
    
+0

仍是没有得到它。我添加了一个静态子目录,并使用上面给出的jinja2模板。我应该在渲染时从python传递一些参数吗?或者其他任何系统更改都在那里 申请 ?? – Tony

+2

@Tony:'http:// localhost:5000/static/map.js'工作吗?当你渲染你的'showMap.html'模板时,它是否包含源代码中的'static/map.js' URL? –

+0

没有..只是显示http://127.0.0.1:5000/ – Tony

1

步骤1: 与名称上项目的根静态创建文件夹

第2步: 添加静态文件夹的静态文件

步骤3 添加模板

<script type="text/javascript" src="{{ url_for('static', filename = 'hello.js') }}"></script>