如何在django中同时处理多个请求

时间:2015-02-16 18:48:43

标签: django

如果多个用户同时登录并查询某些内容,那么我如何识别哪个用户查询了哪些内容。

我试图制作群聊系统。这个想法只是建立一个所有用户都会发布的墙,但问题是我如何知道哪个用户请求发布,如果同时有多个用户。

我的views.py -

def login(request):
    if request.method == 'POST':
        post = request.POST
        u = user.objects.get(username = post['username'])
        if post['password'] == u.password:
            request.session['username'] = u.username
            return redirect('wall')
    else:
            return render(request, 'wall/login_page.html')

 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:
            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:
        if 'username' in request.session:
            posts = user_post.objects.all()
            return render(request, 'wall/wall_page.html', {'posts': posts}) 
        else:
            return redirect('error')

提前致谢

1 个答案:

答案 0 :(得分:3)

request有一个user属性,用于指明提出请求的用户(如果您不需要登录,则可能是AnonymousUser。)