我似乎被卡住了,不确定哪个是最好的方向。

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

我有一个用户撰写,我想展示他的 信息,最新新闻提要 还有他的 相片

通过这个我正在利用 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的照片,最近的墙项目等。

有帮助吗?

解决方案

如果你有一个 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 在URL之后的任何值中有什么价值 profiles/ 在决赛之前 /. 。给定URL /profiles/john/, ,你最终会得到 index 查看被称为 prof_name 设置 john.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top