Django 如何在反向函数中传递User.username?

Django 如何在反向函数中传递User.username?,django,django-views,Django,Django Views,它在url页面上显示以下错误- 带参数和关键字的“views.demo_function”则相反 未找到参数“{user\u name”:u'demo\u user'}”。0模式 已尝试:[] 以下是我在视图中的“演示功能”: def demo_function(request, user_name): context = RequestContext(request) profile_dict = {'username':user_name} render_to_

它在url页面上显示以下错误-

带参数和关键字的“views.demo_function”则相反 未找到参数“{user\u name”:u'demo\u user'}”。0模式 已尝试:[]

以下是我在视图中的“演示功能”:

def demo_function(request, user_name):

    context = RequestContext(request)

    profile_dict = {'username':user_name}

    render_to_response('project1/profile.html', profile_dict, context)
这是我的函数,它具有反向方法:

def user_login(request):

    context = RequestContext(request)

    if request.method == 'POST':

        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(username=username, password=password)


        if user:
            if user.is_active:
                login(request, user)
                #profile(request, username)
                return HttpResponseRedirect(reverse('views.demo_function', kwargs={'user_name':username}))
            ...
            ...

尝试使用用户对象而不是使用post变量:

def user_login(request):
    context = RequestContext(request)

    if request.method == 'POST':

        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(username=username, password=password)


        if user:
            if user.is_active:
                login(request, user)
                #profile(request, username)
                return HttpResponseRedirect(reverse('profile', kwargs={'user_name': user.username}))
简单测试,您是否尝试使用有效用户访问此url,而不是将其反转:

/home/profile/demo_user/
你能进入这个页面吗


你能编辑帖子并添加你的URL文件吗?项目和应用程序url

您在url.py中的相关代码是什么样子的?urlr'^home/profile/?p\w+/$',views.demo_函数,name='profile',urlr'^login/$',views.user_login,name='login',尝试反向使用url的名称:return HttpResponseRedirectreverse'profile',kwargs={'user_name':username}不工作,显然用户名不是字符串。User.username返回什么?因为你在URL.py中粘贴了整个代码???它使用的是“HttpResponse”,而不是“render_to_response”。错误:view demo_app.views.demo_函数没有返回HttpResponse对象。你忘记了在render_to_response之前的返回:return render_to_response'project1/profile.html',profile_dict,context