Django 从一个页面重定向到另一个页面时出现问题
我正在使用DJango 2.2.6 个人资料应用程序Django 从一个页面重定向到另一个页面时出现问题,django,Django,我正在使用DJango 2.2.6 个人资料应用程序 app_name = 'myprofileapp' urlpatterns = [ path('profile', accountController.as_view(), name='account') ] app_name = 'authapp' urlpatterns = [ path('login', loginController.as_view(), name='login') ] 授权应用程序 app_n
app_name = 'myprofileapp'
urlpatterns = [
path('profile', accountController.as_view(), name='account')
]
app_name = 'authapp'
urlpatterns = [
path('login', loginController.as_view(), name='login')
]
授权应用程序
app_name = 'myprofileapp'
urlpatterns = [
path('profile', accountController.as_view(), name='account')
]
app_name = 'authapp'
urlpatterns = [
path('login', loginController.as_view(), name='login')
]
下面是登录用户的代码。如果成功登录,则发送到个人资料页面。
class loginController(View):
def post(self, request):
username = request.POST.get('username')
password = request.POST.get('password')
userobj = authenticate(username = username, password = password)
if(userobj == None):
return HttpResponse("Not Found")
else:
login(request, userobj)
return redirect('profile')
在这个代码login(request,userobj)
之后,如果我写return render(request,'profile.html')
,那么url仍然是login
当我写返回重定向('profile')
时,它会说
找不到“配置文件”的反转“配置文件”不是有效的视图
函数或模式名
我遗漏了什么吗
path('profile', accountController.as_view(), name='profile')
将
name='account'
更改为name='profile'
您还需要提及app\u名称
,并且由于您将视图命名为'account'
,请使用该名称:
class loginController(View):
def post(self, request):
username = request.POST.get('username')
password = request.POST.get('password')
userobj = authenticate(username = username, password = password)
if(userobj == None):
return HttpResponse("Not Found")
else:
login(request, userobj)
return redirect('myprofileapp:account')
类登录控制器(视图):
def post(自我,请求):
username=request.POST.get('username')
password=request.POST.get('password')
userobj=身份验证(用户名=用户名,密码=密码)
如果(userobj==无):
返回HttpResponse(“未找到”)
其他:
登录(请求,userobj)
return redirect('myprofileapp:account')
重定向时必须添加应用程序名称。请像这样更改重定向参数
return redirect('myprofileapp:account')
嗨,非常感谢你的回答。如果没有此代码,我的代码将无法工作
return redirect('myprofileapp:profile')
它目前被编写为return redirect('profile')
,因此需要这两个东西一起使用。您能在此提出建议吗?