我试图通过重定向传递以下信息(注意:用户名是不是使用Django身份验证的用户名)。你知道吗
你知道吗视图.py你知道吗
def SUserLoginFormView(request):
if request.method=='POST':
form1=SUserLoginForm(request.POST)
if form1.is_valid():
UserInfo=form1.save(commit=False)
return redirect('Display',{'slug':UserInfo.Username})
else:
form1=SUserLoginForm()
return render(request,'FormLoginTemplate.html',{'form1':form1})
def Display(request,slug):
pass
这是你的名字网址.py你知道吗
urlpatterns=[
path('',views.CreateDiaryUserView,name='CreateDiaryUserView'),
path('Login',views.SUserLoginFormView,name='SUserLoginFormView'),
path('<slug:slug>',views.Display,name='Display'),
]
但它不起作用
Reverse for 'Display' with arguments '({'slug': 'zjzcjzbhz'},)' not found. 1 pattern(s) tried: ['(?P<slug>[-a-zA-Z0-9_]+)$']
必须将
slug
作为参数而不是字典发送。你知道吗使用
redirect
时,应该使用**kwargs
作为将传递给reverse
的URL kwargs。因此,您可以:或者简化为:
在display视图中,可以使用
slug
从数据库中获取对象。你知道吗更好的方法是像这样使用
django.urls.reverse
相关问题 更多 >
编程相关推荐