2016-02-04 2 views
0

Я новичок в ExtJs и python. Я хотел попробовать несколько сотрудников в Flask + ExtJs. Я создал шаблон для представления, который я хотел использовать в Flask. Он работал хорошо. После того, как я попытался использовать ExtJs в своем шаблоне. В sencha docs есть пример для начала. Это как мой шаблон "index.html" выглядит следующим образом:Python + ExtJs4. Не удается выполнить js-скрипт

<html> 
 
    <head> 
 
    <title>{{ title }} - microblog</title> \t 
 
    <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>

Однако, это не работает. Я получаю сообщения 404, которые не найдены для «ext/ext-all.js» и «ext/resources/css/ext-all.css». Кажется странным, поскольку эти файлы существуют на самом деле. Моя папка structer заключается в следующем:

App

templates 
    ext 
    index.html 
    app.js 

...

Есть ли кто-нибудь, кто знает причину такого поведения?

+0

Причина для 404 тривиальна: сервер не обслуживает файл. Причины зависят от используемого вами веб-сервера. Откройте консоль разработчика Chrome, вкладку «Сеть». Обычно сервер будет возвращать дополнительные данные с 404. – Alexander

ответ

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') }}" /> 
+0

да, сейчас он работает, спасибо. Но нам нужно {{и без '%' символ –

+0

304 не является ошибкой. Он «не изменен». Это означает, что ваш браузер уже имеет самую последнюю версию файла. (И я исправил разделителей, спасибо.) – dirn

+0

Теперь я получаю 304 messgae –