Django jQuery查看用户问题

时间:2010-08-13 10:33:49

标签: jquery django-templates django-views jquery-tabs

我似乎陷入困境,不确定哪个方向最佳。

我的项目中有一些应用程序,并希望将三个视图合并到一个模板中。

我有一个userprofile,我想在其中显示信息,最新新闻以及他的照片

通过这个我正在使用 jQuery标签

我已经定义了我的三个标签,其中一个调用普通div,另外两个是调用的URL。

<a href="wall/recent">wall</a><a href="photos/recent">photos</a>

地址栏在用户个人资料中读取以下内容  http://localhost:8000/profiles/profile_name/

我的views.py wallphotos中的

如下所示

@login_required
def index(request, template_name='wall/_index.html'):
    photos = Photos.objects.filter(user=request.user).order_by('-id')
    context = { 'photos': photos, }

    return render_to_response(template_name, context,
        context_instance=RequestContext(request))

但是,如果我再查看我的个人资料,那很好,但每当我切换到另一个用户个人资料时,它似乎会显示我的一些信息。

我知道request.user正在查看已登录的用户,如何在地址栏中获取该用户并将其传递,以便显示正确的信息,即如果profile_name = john则显示johns照片,最近的墙壁物品等。

1 个答案:

答案 0 :(得分:2)

如果你有urls.py这样的话:

urlpatterns = patterns('',
                      (r'^profiles/(?P<prof_name>[A-Za-z0-9\-_]+)/$', 'appname.views.index'))

然后您的视图代码可以像这样修改:

@login_required
def index(request, prof_name, template_name='wall/_index.html'):
    photos = Photos.objects.filter(user__username=prof_name).order_by('-id')
    context = { 'photos': photos, }

    return render_to_response(template_name, context,
        context_instance=RequestContext(request))

这样做会将名称prof_name绑定到profiles/之后和最终/之前的网址中的任何值。根据网址/profiles/john/,您最终会调用index视图,prof_name设置为john