我希望用户点击其他用户访问他们的个人资料,而无需修改帖子。
这是我的Profil观点:
def Profil(request, username):
if not request.user.is_authenticated():
return render(request, 'blog/visitor.html')
else:
u = User.objects.get(username=username)
user = request.user
posts = Post.objects.filter(user=request.user)
context = {'user': user, 'user_url':u,'posts': posts}
return render(request, 'blog/profil.html', context)
这是我的索引视图
def IndexView(request):
if request.user.is_authenticated():
base_template_name = 'blog/base.html'
else:
base_template_name = 'blog/visitor.html'
posts = Post.objects.all()
return render(request, 'blog/index.html',
{'posts':posts, 'base_template_name':base_template_name})
(除此之外还有其他解决办法吗?)
我的urls.py
url(r'^(?P<username>\w+)/$', views.Profil, name = 'profil'),
从index.html到profil.html的链接如下所示:
<a href="{% url 'blog:profil' user.username %}">{{post.user.username }}</a>
问题在于,当我点击它与我登录的当前用户的链接时,而不是我点击它的用户
使用管理员登录并希望查看Ala的个人资料:
当我点击它时会显示在网址中:
http://127.0.0.1:8000/blog/imedadmin/应该是'Ala'而不是'imedadmin'。
答案 0 :(得分:0)
在我看来,你可以在渲染函数中发送一个变量来查看,称之为isHim。登录用户是他自己,将其设置为true,如果不是,则将其设置为false。在您查看时,请使用{{if isHim}}进行检查,然后启用/禁用编辑按钮。我已经使用过了,它已经回答了。
答案 1 :(得分:0)
您可以执行以下操作:
{% if request.user.id == post.user.id %}
# ur code {% endif %}
在模板目录中。