您需要添加一个额外的视图:
新观点:
def post_content(request, post_id):
post = get_object_or_404(Post, id = post_id)
return render_to_response('post_info.html', {'post':post},context_instance=RequestContext(request))
您需要创建一个 post_info.html 来提供有关帖子的更多信息。
在您的帖子模板中:
{% for p in posts %}
<span data-url='{% url post_content post_id=p.id %}' class='post'>{{ p.name }}<span class='more_info'></span></span>
{% endfor %}
那么您将拥有以下 Javascript(在此示例中使用 Jquery)
$(document).ready( function () {
$('.post').on('click', function() {
var span = $(this);
$.ajax({
url: span.attr('data-url')
}).done(function(data) {
span.find('.more_info').html(data);
});
});
});
这将使用来自服务器的数据替换带有类 more_info 的 span 的内容。
编辑:你还需要在你的urls.py
文件中添加一些东西,name= "post_content"
设置。