django Benutzername in URL, anstelle von ID

n einer virtuellen Mini-Community habe ich eine profile_view-Funktion, mit der ich das Profil jedes registrierten Benutzers anzeigen kann. Die Profilansicht hat als Parameter die ID des Benutzers, zu dem das Profil gehört. Wenn ich also beispielsweise auf das Profil von Benutzer 2 zugreifen möchte, rufe ich es folgendermaßen auf:http: //127.0.0.1: 8000 / accounts / profile_view / 2 /

Mein Problem ist, dass ich den Benutzernamen in der URL haben möchte, und NICHT die ID. Ich versuche, meinen Code wie folgt zu ändern, aber es funktioniert immer noch nicht. Hier ist mein Code:

Aussicht

def profile_view(request, user):
        u = User.objects.get(pk=user)
        up = UserProfile.objects.get(created_by = u)
        cv = UserProfile.objects.filter(created_by = User.objects.get(pk=user))
        blog = New.objects.filter(created_by = u) 
        replies = Reply.objects.filter(reply_to = blog)
        vote = Vote.objects.filter(voted=blog)
        following = Relations.objects.filter(initiated_by = u)
        follower = Relations.objects.filter(follow = u)
    return render_to_response('profile/publicProfile.html', {
        'vote': vote,
        'u':u,  
        'up':up, 
        'cv': cv, 
        'ing': following.order_by('-date_initiated'),  
        'er': follower.order_by('-date_follow'),
        'list':blog.order_by('-date'),
        'replies':replies
        }, 
        context_instance=RequestContext(request)) 

und meine URL:

urlpatterns = patterns('',
                        url(r'^profile_view/(?P<user>\d+)/

Danke im Voraus

, profile_view, name='profile_view'),

Danke im Voraus

Antworten auf die Frage(10)

Ihre Antwort auf die Frage