2016-06-01 16 views
6

Tôi đang cố tắt bộ đệm mẫu của Jinja2. Tôi đã thực hiện một số nhìn xung quanh, và tôi đã tìm thấy rằng có một tham số cache_size cho môi trường của jinja. Tôi đang sử dụng như sau:Tắt bộ nhớ cache mẫu Jinja2

app.jinja_env = jinja2.Environment(
    cache_size = 0, 
    loader = jinja2.FunctionLoader(utils.load_template) 
) 

Tôi đang sử dụng trình tải tùy chỉnh để tải mẫu động dựa trên tên miền (ứng dụng phân phát nhiều tên miền). Thật không may, sử dụng này, có vẻ như nó sẽ ghi đè bộ lọc mặc định và chức năng được xây dựng trong của Jinja - sử dụng

@app.route(...) 
def page(): 
    render_template('template') # from flask import render_template 

Tôi nhận được một lỗi UndefinedError: 'url_for' is undefined. Cách thích hợp để làm điều này là gì?

Trả lời

16

Bạn có thể muốn đặt app.config['TEMPLATES_AUTO_RELOAD'] = True thay thế. Thay vì tắt bộ nhớ cache, nó sẽ tải lại mẫu nếu phiên bản được lưu trong bộ nhớ cache không còn khớp với tệp mẫu.

Các vấn đề liên quan