Ich möchte, dass Benutzer auf andere Benutzer klicken, um ihr Profil zu besuchen, ohne ihre Beiträge zu bearbeiten.Anderes Benutzerprofil anzeigen
Hier ist mein Profil Ansicht:
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)
Und hier meine Index Ansicht
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})
(Gibt es eine andere Lösung außer das?)
Mein urls.py
url(r'^(?P<username>\w+)/$', views.Profil, name = 'profil'),
und ein li nk von index.html zu profil.html sieht wie folgt aus:
<a href="{% url 'blog:profil' user.username %}">{{post.user.username }}</a>
das Problem dabei ist, wenn ich auf den Link klicken, um es mit den aktuellen Benutzer übergibt ich Sie sich mit und nicht den Benutzer, dass ich auf auf es mit Admin
LogIn und wollen Ala Profil sehen:
Als ich es zeigt in der uRL klicken diese:
http://127.0.0.1:8000/blog/imedadmin/, die "Ala" anstelle von "imedadmin" sein soll.
Sie verwenden den Benutzernamen des angemeldeten Benutzers im Profillink hier: '{% url 'blog: profil' user.username%}'. Ersetzen Sie "user" durch den tatsächlichen Benutzer, dessen Profil Sie verknüpfen möchten. – xyres
Womit sollte ich es ersetzen? – Imed
Zeigen Sie den Namen des Benutzers in dem Link? Können Sie den vollen '...' Code zeigen? Oder zeigen Sie Ihre Indexansicht an. – xyres