2011-01-06 40 views
24

thay vì sử dụng render_to_response sẽ gửi đầu ra HTML trở lại trình duyệt.Django - lấy đầu ra HTML thành một biến

Tôi muốn lấy kết quả, tạo HTML (sử dụng mẫu) & xuất html thành một biến trong views.py của tôi. Tôi có thể làm cái này như thế nào?

+0

Không có gì sai với việc trả lời câu hỏi của riêng bạn-StackOverflow thực sự khuyến khích nó. Nếu bạn đã làm, bạn sẽ nhận được ba lần cred từ tôi (5 điểm cho câu hỏi và 10 cho câu trả lời, thay vì chỉ 5 cho câu hỏi). –

Trả lời

16

SOLVED! cách để làm điều này -

from django.template.loader import render_to_string 
rendered = render_to_string('my_template.html', { 'foo': 'bar' }) 

nhờ ned cho trỏ đến các Django docs

+0

Tuyệt vời! rất hữu dụng – po5i

15

Được chuyển thể từ Django docs:

from django.template import Context, Template 
t = Template("My name is {{ my_name }}.") 
c = Context({"my_name": "Adrian"}) 
output = t.render(c) 
+0

thay vì 'Mẫu (" Tên tôi là {{my_name}}. ")' Tôi có thể chuyển trên html tức là 'Mẫu (" trial.html ")' không? –

+1

Bạn đã kiểm tra [tài liệu] (http://docs.djangoproject.com/en/dev/ref/templates/api/#the-python-api) chưa? –

+0

tuyệt vời! đã làm nó .. –

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