我有一個頁面,顯示用戶及其約。在這方面,有一個鏈接可以更新他們的約。但是,當我打開鏈接它表明我這個錯誤:用戶匹配查詢不存在 - django
DoesNotExist at /profile/user/update_about/
User matching query does not exist.
而且回溯hightlights這條線,從profile
方法的觀點:
13. user = User.objects.get(username=unquote(user_name))
但是不會發生此錯誤時我加載了profile
方法。它僅在視圖中的update_profile
方法中出現。
views.py
from django.shortcuts import render
from django.http import HttpResponseRedirect
from urllib import unquote
from django.contrib.auth.models import User
from models import About
from forms import AboutForm
# Create your views here.
def profile(request, user_name):
user = User.objects.get(username=unquote(user_name))
about = About.objects.get_or_create(user=user)
about = about[0]
return render(request, 'user_profile.html', {
'user':user,
'about_user':about
})
def update_about(request, user_name):
user = User.objects.get(username=unquote(user_name))
if request.method == 'POST':
form = AboutForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/')
else:
about = About.objects.get(user=user)
form = AboutForm(initial={'dob':about.dob})
return render(request, 'update_about.html',{
'form':form
})
urls.py
urlpatterns = patterns('',
# Examples:
url(r'(?P<user_name>[\[email protected]%.]+)/$', 'user_related.views.profile', name='profile'),
url(r'(?P<user_name>[\[email protected]%.]+)/update_about/$', 'user_related.views.update_about', name='update_about'),
是什麼原因造成的?您的幫助將非常感謝。謝謝。
在URL'/資料/用戶/ update_about /',_user_是實際的用戶名? – Rohan
@Rohan是的,它是。 – Kakar
所以看起來你的數據庫中沒有用戶名爲「user」的用戶。 – Rohan