2013-06-23 47 views
12

Trong GAE tôi sử dụng jinja2 với autoescape, và mọi thứ hoạt động tốt.Không thể vô hiệu hóa autoescape trong jinja2

import jinja2 
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape = True) 

Trong một mẫu tôi không muốn autoescape, vì vậy tôi đã cố gắng để vô hiệu hóa nó như thế này:

{% autoescape false %} 
{{content}} 
{% endautoescape %} 

Khi đó là thời gian để làm cho mẫu này tôi nhận được thông Encountered unknown tag 'autoescape'.

+0

thể trùng lặp của http://stackoverflow.com/questions/4674366/problem-with -jinja2-autoescape-in-google-app-engine-webapp – elssar

+0

Tôi đã kiểm tra bài đăng đó trước đó, nhưng tôi có một vấn đề khác: việc trốn thoát cho tôi luôn hoạt động và tôi không thể tắt nó (thay vì không hoạt động như ở bài viết khác) – stenci

Trả lời

6

Để nhận được thẻ autoescape, bạn cần bật tiện ích autoescape khi thiết lập jinja2, như sau:

jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), 
           autoescape = True, 
           extensions = ['jinja2.ext.autoescape']) 

Ngoài ra, hãy chắc chắn rằng bạn đang sử dụng jinja2 phiên bản 2.4 hoặc cao hơn trong app.yaml của bạn (current version is GAE là 2.6):

libraries: 
- name: jinja2 
    version: "2.6" 

Để biết thêm thông tin, xem the documentation for the autoescape extension.

+2

Tiện ích mở rộng có thực hiện thủ thuật không? –