在我正在處理的一些代碼中,作者max AJAX調用返回JSON的Django視圖。什麼是格式化AJAX響應的好方法?或者,使用Django使用AJAX模板
一旦JSON被檢索到,它將被注入到一個看起來像這樣的函數中(注意,這是一個簡化,但我相信你知道我在這裏得到什麼):
function build_event_listing(events) {
var html = '';
for(int i = 0; i < events.length; i++) {
event = events[i];
html += "<h2>" + event.title + "</h2>\n";
html += "<p>" + event.description + "</p>";
html += "Click <a href='/event/view/" + event.id + "'>here<a> for more info.";
}
events_div.html(html);
}
我真的不喜歡這種方法。爲了改變每個事件列表的外觀,設計人員必須修改那個醜陋的JS。我寧願使用Django的模板系統,但我想知道我該如何做到這一點?
我寫了這樣的觀點的想法:
def view_listings(req):
events = models.Event.objects.all()
html = []
for event in events:
html.append(
render_to_string('event/single_event.html', {
'event': event,
}, context_instance=RequestContext(req))
return HttpResponse(''.join(html), mimetype='text/html')
...但它只是好像應該有一個更好的辦法。
任何想法?
不知道它是否有效,但可以使用「include」嗎?假設你仍然想要ajax調用。 – Dingle 2010-05-06 19:43:56