蟒蛇+ ExtJs4。无法执行js脚本

时间:2016-02-04 12:47:14

标签: python extjs flask

我是ExtJs和python的新手。我想在Flask + ExtJs中尝试一些工作人员。 我已经创建了一个我想在Flask中使用的视图模板。它运作良好。 我尝试在模板中使用ExtJs后。在sencha docs中有一个热门的例子可以入手。这就是我的模板" index.html"看起来像:



<html>
  <head>
    <title>{{ title }} - microblog</title>	 
    <link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css" />
    <script type="text/javascript" src="ext/ext-all.js" />
    <script type="text/javascript" src="app.js" />
  </head>
  <body>
      Hello, {{ user.nickname}}!
  </body>
</html>
&#13;
&#13;
&#13;

然而,它不起作用。我收到的消息404未找到&#34; ext / ext-all.js&#34;和&#34; ext / resources / css / ext-all.css&#34;。这看起来很奇怪,因为这些文件确实存在。 我的文件夹结构如下:

App

 templates
    ext
    index.html
    app.js

...

有没有人知道这种行为的原因?

1 个答案:

答案 0 :(得分:1)

您的文件位置错误。静态文件属于static文件夹,而不是templates

此外,在模板中使用相对URL会导致问题。幸运的是,Flask提供url_for来帮助解决这个问题。

<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='ext/resources/css/ext-all.css') }}" />
<script type="text/javascript" src="{{ url_for('static', filename='ext/ext-all.js') }}" />
<script type="text/javascript" src="{{ url_for('static', filename='app.js') }}" />