1
Je suis en train d'avoir une liste d'amis de toutes les personnes qui vous sont connectés à des href qui vous envoie à leur profil, mais obtenir:Comment avoir deux requêtes ensembles distincts sous la même vue basée sur la classe
`Reverse for 'view_profile_with_pk' not found. 'view_profile_with_pk' is not a valid view function or pattern name.
dans les détails de retraçage HTML i get:
return render (request, self.template_name, args)
Views.py
class ViewProfile(generic.ListView):
model = Post
template_name = 'accounts/profile.html'
def view_profile(request, pk=None):
if pk:
user = User.objects.get(pk=pk)
else:
user = request.user
kwargs = {'user': request.user}
return render(request, 'accounts/profile.html', kwargs)
def get(self, request):
users =User.objects.all()
object_list= Post.objects.filter(owner =self.request.user).order_by('-timestamp')
args ={'object_list':object_list,'users':users}
return render (request, self.template_name, args)
urls.py
# profilepage
url(r'^profile/$', views.ViewProfile.as_view(), name='view_profile'),
# profilepage
url(r'^profile/(?/P<pk>\d+)/$', views.ViewProfile.as_view(), name='view_profile_with_pk'),
profile.html
<div class="col-md-4">
<h1>Friends</h1>
{%for user in users %}
<a href="{% url 'accounts:view_profile_with_pk' pk=user.pk %}">
<h3>{{user.username}}</h3>
</a>
{%endfor%}
</div>
Merci qui ont aidé, mais maintenant je suis confronté à la problème de: get() a un argument de mot clé inattendu 'pk' – Migdotcom
@Migdotcom Je soupçonne que la méthode 'get()' qui reçoit un 'pk' kwarg inattendu est en fait celle sur votre vue - celle commençant par' def get (self, request): ' – Jiaaro