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.

+3


source to share


2 answers


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 %%

      

+5


source


Doesn't jinja syntax support?

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

      



This works in django at least and I expect jinja to avoid curly braces as well.

+2


source







All Articles