Checkbox parses AngularJS expressions
Using Python 3.4.1
Everything works fine otherwise.
For example:
<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li>
will create elements as I would expect and the console even logs my expected results ... but when the html is rendered the expressions are removed and I am faced with a list of empty elements:
<li ng-repeat="thing in things"><a href="#"></a></li>
I know this is a Flask issue using the same shape. Does anyone know how to get AngularJS expressions otherwise?
Tried both:
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'
and
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='#>',
))
using tag
<script type="text/javascript" src="%% url_for('static', filename='js/lib/angular.min.js') %%"></script>
just does it as it is, without interpreting delimiters. Probably leads to a bunch of 404s.
app = Flask(__name__)
app._static_folder = 'static'
app.jinja_options.update(dict(
variable_start_string='%%',
variable_end_string='%%'
))
and
app = Flask(__name__)
app._static_folder = 'static'
app.jinja_options.update(
variable_start_string='%%',
variable_end_string='%%'
)
both give TypeError: 'ImmutableDict' objects are immutable
Changing my angular expressions {{'{{thing}}'}}
doesn't work, but I would also switch to a different framework than I would have to manage this angular code.
source to share
Use 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
In the template:
<li ng-repeat="thing in things"><a href="#">{{thing}}</a></li>
%% jinja_expression %%
source to share