2014-10-23 6 views
3

Использование Python 3.4.1Флажок разыгрывает выражения AngularJS

Все работает нормально, в противном случае.

Например:

<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li> 

будет создавать элементы, однако многих вещей я ожидаю, и консоль даже каротажную мои ожидаемые результаты ... но когда HTML визуализируются выражения удаляются, и я встретил список пустых элементов:

<li ng-repeat="thing in things"><a href="#"></a></li> 

Я знаю, что это проблема с Колба с использованием той же фигурная скобка обозначения. Кто-нибудь знает, как получить выражения AngularJS в противном случае?


Пробовал как:

jinja_options = Flask.jinja_options.copy() 
jinja_options.update(dict(
    block_start_string='<%', 
    block_end_string='%>', 
    variable_start_string='%%', 
    variable_end_string='%%', 
    comment_start_string='<#', 
    comment_end_string='#>', 
)) 

app = Flask(__name__) 
app._static_folder = 'static' 

и

app = Flask(__name__) 
app._static_folder = 'static' 
app.jinja_options.copy().update(dict(
    block_start_string='<%', 
    block_end_string='%>', 
    variable_start_string='%%', 
    variable_end_string='%%', 
    comment_start_string='<#', 
    comment_end_string='#>', 
)) 

с помощью тега

<script type="text/javascript" src="%% url_for('static', filename='js/lib/angular.min.js') %%"></script> 

просто визуализирует его как есть, без интерпретации ограничителей. Очевидно, ведет к кучке 404.


app = Flask(__name__) 
app._static_folder = 'static' 
app.jinja_options.update(dict(
    variable_start_string='%%', 
    variable_end_string='%%' 
)) 

и

app = Flask(__name__) 
app._static_folder = 'static' 
app.jinja_options.update(
    variable_start_string='%%', 
    variable_end_string='%%' 
) 

оба дает TypeError: 'ImmutableDict' objects are immutable

Изменения моему угловым выражений {{'{{thing}}'}} работает, но я как только переключиться на другую структуру, чем должен управлять моим Угловым такой код.

ответ

5

Использование jinja_options:

app = Flask(__name__) 

jinja_options = app.jinja_options.copy() 
jinja_options.update(dict(
    block_start_string='<%', 
    block_end_string='%>', 
    variable_start_string='%%', 
    variable_end_string='%%', 
    comment_start_string='<#', 
    comment_end_string='#>', 
)) 
app.jinja_options = jinja_options 

В шаблоне:

<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li> 
%% jinja_expression %% 
+0

Кажется, ничего не делает. '' просто отображает как есть, и, конечно же, , 404's – CodeShaman

+0

Просто обновил ответ, чтобы решить проблему '' 'ImmutableDict'''. – nathancahill

2

Не поддерживает синтаксис синтаксиса jinja?

<li ng-repeat="thing in things"><a href="#">{{{{thing}}}}</a></li> 

Это работает в Джанго, по крайней мере, и я бы ожидать, что дзиндзя позволяет избежать брекеты таким образом, как хорошо.

+1

Close, нашел его. На самом деле это {{'{{thing}}'}} – CodeShaman

+0

Ahh, это должно быть немного иначе. –

Смежные вопросы