django nom d'utilisateur dans l'url, au lieu de l'id

dans une mini-communauté virtuelle, j'ai un profile_view fonction, de sorte que je peux afficher le profil d'un utilisateur inscrit. La vue de profil de la fonction a comme paramètre l'id de l'utilisateur dont le profil appartient à, de sorte que lorsque je veux accéder au profil de l'utilisateur 2 par exemple, je l'appelle comme ça:
http://127.0.0.1:8000/accounts/profile_view/2/

Mon problème est que je voudrais avoir le nom d'utilisateur dans l'url, et PAS l'id.
J'ai essayer de modifier mon code comme suit, mais il ne fonctionne pas toujours. Voici mon code:

vue:

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)) 

et mon url:

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

merci d'avance!

OriginalL'auteur dana | 2010-06-10