Dưới đây là cách sử dụng cơ bản:
Đầu tiên tạo một mẫu
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
Sau đó, làm cho nó thông qua các biến
>>> template.render(name='John Doe')
u'Hello John Doe!'
Thông thường, bạn sẽ muốn tải mẫu từ các tập tin thay vì mã. Đó là hiệu quả hơn và tối ưu hóa, và cho phép mẫu thừa kế:
from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))
rằng sẽ tìm kiếm mẫu bên trong thư mục templates
của gói yourapplication
Python, như được cài đặt trong đường dẫn Python. Bạn có thể sử dụng các trình tải khác để tải từ một hệ thống tệp cụ thể hoặc các địa điểm khác.
Sau đó, bạn có thể tải mẫu:
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')
Khi sử dụng Flask nó được tất cả các cấu hình cho bạn, vì vậy bạn chỉ có thể sử dụng render_template
chức năng Flask và nó sẽ đã tìm kiếm một thư mục con templates
của ứng dụng của bạn:
from flask import render_template
@app.route('/hello/')
def hello(name=None):
return render_template('hello.html', name=name)
Note mẫu biến (còn gọi là bối cảnh) được chuyển cho render_template
Jinja có khá good documentation. Vui lòng đọc nó. Vui lòng đặt thêm câu hỏi.
Bình là một lựa chọn tốt. Và hướng dẫn của nó nhiều hay ít trả lời các câu hỏi của bạn: http://flask.pocoo.org/docs/quickstart/#rendering-templates. Cũng lưu ý cách '@ app.route' định nghĩa URL. – 9000
Cảm ơn - vì vậy tôi sẽ có một kịch bản python cho mỗi trang, khai báo các biến trong mỗi kịch bản python, và sau đó chuyển chúng vào template.render? –