Django重定向将视图视为URL

Django重定向将视图视为URL,django,url,redirect,view,Django,Url,Redirect,View,出于某种原因,Redirect认为我对视图“clients.views.teacher_profile”的调用是一个URL,直接将其放在地址栏中,如图所示: 如何将其链接到视图,而不将其视为URL 注意:我修改了一些设置以适应django allauth 我的代码: #views.py def teacher_profile(request, username): user = get_object_or_404(User, username=username) context

出于某种原因,Redirect认为我对视图“clients.views.teacher_profile”的调用是一个URL,直接将其放在地址栏中,如图所示:

如何将其链接到视图,而不将其视为URL

注意:我修改了一些设置以适应django allauth

我的代码:

#views.py
def teacher_profile(request, username):
    user = get_object_or_404(User, username=username)
    context = {
        'user':user,
        'teacher':user.teacher,
    }
    return render(request, 'clients/teacher_profile.html', context)

def edit_profile(request):
    teacher = get_object_or_404(Teacher, user=request.user)
    if request.method == 'POST':
        form = TeacherForm(request.POST, instance=teacher)
        if form.is_valid():
            teacher = form.save(commit=False)
            teacher.user = request.user
            teacher.save()
            return redirect('clients.views.teacher_profile', username=request.user.username)
    else:
        form = TeacherForm(instance=teacher)
    return render(request, 'clients/edit_profile.html', {'form':form})

#urls.py
urlpatterns = [
    url(r'^list/$', views.teacher_list, name='teacher_list'),
    url(r'^(?P<username>[\w.@+-]+)/$', views.teacher_profile, name='teacher_profile'),
    url(r'^accounts/settings/$', views.edit_profile, name='edit_profile'),
]
#views.py
def教师档案(请求、用户名):
用户=获取对象或404(用户,用户名=用户名)
上下文={
“用户”:用户,
“教师”:user.teacher,
}
返回呈现(请求“clients/teacher_profile.html”,上下文)
def编辑_配置文件(请求):
教师=获取对象或404(教师,用户=请求。用户)
如果request.method==“POST”:
form=TeacherForm(request.POST,instance=teacher)
如果form.is_有效():
teacher=form.save(commit=False)
teacher.user=request.user
老师。保存()
返回重定向('clients.views.teacher\u profile',username=request.user.username)
其他:
表单=教师表单(实例=教师)
返回呈现(请求'clients/edit_profile.html',{'form':form})
#url.py
URL模式=[
url(r“^list/$”,views.teacher\u list,name='teacher\u list'),
url(r'^(?P[\w.@+-]+)/$”,views.teacher_profile,name='teacher_profile'),
url(r“^accounts/settings/$”,views.edit_profile,name='edit_profile'),
]

在重定向调用中不要使用视图的模块路径;使用在url模式中显式定义的名称

return redirect('teacher_profile', username=request.user.username)

不要在重定向调用中使用视图的模块路径;使用在url模式中显式定义的名称

return redirect('teacher_profile', username=request.user.username)

不要在重定向调用中使用视图的模块路径;使用在url模式中显式定义的名称

return redirect('teacher_profile', username=request.user.username)

不要在重定向调用中使用视图的模块路径;使用在url模式中显式定义的名称

return redirect('teacher_profile', username=request.user.username)

谢谢你的回复!我按照您的建议做了,但出现了以下错误:找不到参数为“()”且关键字参数为“{username':'test6'}”的“教师档案”的/accounts/settings/Reverse处的NoReverseMatch。尝试了0个模式:[]您是否将该url.py包含在主模式的命名空间中?是的,我尝试放置“clients:teacher_profile”,现在可以使用了!真不敢相信我错过了,你看,我还是个初学者。非常感谢你,丹尼尔!谢谢你的回复!我按照您的建议做了,但出现了以下错误:找不到参数为“()”且关键字参数为“{username':'test6'}”的“教师档案”的/accounts/settings/Reverse处的NoReverseMatch。尝试了0个模式:[]您是否将该url.py包含在主模式的命名空间中?是的,我尝试放置“clients:teacher_profile”,现在可以使用了!真不敢相信我错过了,你看,我还是个初学者。非常感谢你,丹尼尔!谢谢你的回复!我按照您的建议做了,但出现了以下错误:找不到参数为“()”且关键字参数为“{username':'test6'}”的“教师档案”的/accounts/settings/Reverse处的NoReverseMatch。尝试了0个模式:[]您是否将该url.py包含在主模式的命名空间中?是的,我尝试放置“clients:teacher_profile”,现在可以使用了!真不敢相信我错过了,你看,我还是个初学者。非常感谢你,丹尼尔!谢谢你的回复!我按照您的建议做了,但出现了以下错误:找不到参数为“()”且关键字参数为“{username':'test6'}”的“教师档案”的/accounts/settings/Reverse处的NoReverseMatch。尝试了0个模式:[]您是否将该url.py包含在主模式的命名空间中?是的,我尝试放置“clients:teacher_profile”,现在可以使用了!真不敢相信我错过了,你看,我还是个初学者。非常感谢你,丹尼尔!