Views.py
@login_required
def profile_edit(request):
profile, created = UserProfile.objects.get_or_create(user=request.user)
form = UserProfileForm(request.POST or None, request.FILES or None, instance=profile)
if form.is_valid():
instance = form.save(commit=False)
instance.user = request.user
instance.save()
return redirect('profile_user')
context = {
"title": 'Edit Profile',
"form":form,
}
return render(request, 'profiles/userprofile_form.html', context)
主网址没有给出名称空间,个人资料网址如下所示。
url(r'^profile/(?P<username>[\w.@+-]+)$', profile_view, name='profile_user'),
有人可以帮忙解决这个问题吗?
答案 0 :(得分:0)
您的网址需要1个用户名参数。但是在reverse()
中你没有传递任何参数。因此错误。将反向呼叫更改为
return redirect('profile_user', args=(instance.user.username,))
答案 1 :(得分:0)
您的网址需要命名参数username
。您必须将其作为关键字参数提供给redirect()
。例如:
redirect('view-name', username='joe')