0
我试图编辑配置文件,但出现此错误 “DoesNotExist at/blog/edit /,用户匹配的查询不存在。”编辑配置文件用户Django
def Profil(request, username):
if request.user.is_authenticated():
base_template_name = 'blog/base.html'
else:
base_template_name = 'blog/visitor.html'
user = User.objects.get(username=username)
logged_in_user_posts = Post.objects.filter(user=user)
context = {'base_template_name':base_template_name}
return render(request, 'blog/profil.html', {'user':user, 'posts':logged_in_user_posts})
def update_profile(request):
if request.method == 'POST':
profile_form = ProfileForm(request.POST, request.FILES, instance=request.user.profile)
if profile_form.is_valid():
profile_form.save()
messages.success(request, ('Your profile was successfully updated!'))
return redirect('blog:index')
else:
messages.error(request, ('Please correct the error below.'))
else:
profile_form = ProfileForm(instance=request.user.profile)
return render(request, 'blog/edit_profile.html', {
'profile_form': profile_form })
在urls.py:
url(r'^(?P<username>\w+)/$', views.Profil, name = 'profil'),
url(r'^edit/$', views.update_profile, name='edit_profile'),
理解,但是,如果我要来试图编辑我的个人资料,这样我是指用户exsist用户! – Imed
打印您的用户名并检查它是否与控制台(runserver)输出中的用户用户名匹配。同时打印将显示您的用户名的'request.user.username'。要检查匹配,你可以检查'username == request.user.username'的输出。 –
事实上,它与用户的用户名相匹配,即使我通过user = User.objects.get(username = request.user.username)更改了“user = User.objects.get(username = username)”,我仍然无法编辑配置文件:/ – Imed