我的views.py -
def wall(request):
if request.method == 'POST':
post = request.POST
if 'logout' in post:
del request.session['username']
return redirect('home')
elif 'post' in post:
if post['post_text'] and not post['post_text'].isspace():
posted_by = request.session.get('username', '')
post_content = post['post_text']
post_id = posted_by+''+datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")
p = user_post(posted_by = posted_by, post_content = post_content, post_id = post_id)
p.save()
return redirect('wall')
else:
return redirect('error')
elif 'search_user' in post:
return redirect('search_user')
elif 'profile' in post:
return redirect('profile')
else:
if 'username' in request.session:
posts = user_post.objects.order_by('id')[:20].reverse()
return render(request, 'wall/wall_page.html', {'posts': posts, 'user': request.session['username']})
else:
return redirect('error')
模板 -
<div class="row" id="posts">
{% if posts %}
{% for post in posts %}
{% if user == post.posted_by %}
<p class="lead text-success text-right">
{{ post.post_content }}
<small>
<small>
<small>
<small>
{{ post.posted_by }}
</small>
</small>
</small>
</small>
</p>
{% else %}
<p class="lead text-info text-left">
{{ post.post_content }}
<small>
<small>
<small>
<small>
{{ post.posted_by }}
</small>
</small>
</small>
</small>
</p>
{% endif %}
{% endfor %}
{% endif %}
</div>
和相关的js文件 -
$(document).ready(function()
{
setInterval(function()
{
$.ajax(
{
type : "GET",
url : "http://10.8.21.17:8000/wall/wall",
}).done(function()
{
$('#posts').html();
});
}, 3000);
});
对服务器有正确的GET请求,但页面没有重新加载...即。当用户发帖时,即使每3秒钟有一个GET请求,它实际上也没有向其他用户显示。我复制粘贴了js代码,不知道它是否正确。有人帮我请。我想要做的是页面应该在js的帮助下重新加载,以便用户不必刷新。
提前致谢。
答案 0 :(得分:0)
您没有对JS中服务器的响应做任何事情。你需要实际使用它:
.done(function(data)
{
$('#posts').html(data);
});