django jQuery视图用户问题
-
28-09-2019 - |
题
我似乎被卡住了,不确定哪个是最好的方向。
我的项目中有一些应用程序,并希望将三个视图组合到一个模板中。
我有一个用户撰写,我想展示他的 信息,最新新闻提要 还有他的 相片
通过这个我正在利用 jQuery选项卡
我已经定义了我的三个选项卡,其中一个在常规div上打电话,另外两个是被调用的URL。
<a href="wall/recent">wall</a>
和 <a href="photos/recent">photos</a>
地址栏在用户配置文件上时读取以下内容 http://localhost:8000/profiles/profile_name/
在我的 views.py
为了 wall
和 photos
看起来如下
@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
.
不隶属于 StackOverflow