Har*_*rry 6 python django ajax jquery django-templates
我正在构建一个聊天应用程序.到目前为止,我正在使用jquery $ .post()添加聊天消息,这样可以正常工作.
现在,我需要从表中检索最新的聊天消息,并将该列表附加到聊天页面上.我是Django的新手,所以请慢点.
那么如何将聊天表中的数据恢复到聊天页面?
提前致谢!
Jia*_*aro 13
我最喜欢的这种方法是使用包含标签
基本上你创建一个单独的模板来渲染页面模板中的各个对象
页面模板:
{% load message_tags %}
<h3>Messages</h3>
<div class="message_list">
{% for message in messages %}
{% render_message message %}
{% endfor %}
</div>
Run Code Online (Sandbox Code Playgroud)
templatetags/message_tags.py:
from django import template
register = template.Library()
@register.inclusion_tag('individual_message.html')
def render_message(message):
context_for_rendering_inclusion_tag = {'message': message}
return context_for_rendering_inclusion_tag
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用相同的模板message_list在单独的视图中呈现要添加到div 的其他消息,您可以从ajax代码调用该视图
def ajax_retrieve_latest_message(request):
# ... Get the lastest message
render_to_response('individual_message.html', ...
Run Code Online (Sandbox Code Playgroud)
你的jQuery看起来像......
$.post(url_of_ajax_view, request_data, function(data, status) {
if (status == 'success') {
$(".message_list").append(data);
}
});
Run Code Online (Sandbox Code Playgroud)
为了完整起见,您的individual_message.html文件将包含用于在页面上显示实际消息的所有标记...
希望这一切都有帮助:)
| 归档时间: |
|
| 查看次数: |
4432 次 |
| 最近记录: |