2012-06-24 65 views
0

我正在django中開發一個站點,並且有兩種類型的配置文件。其中一人名爲Person。所以我試圖訪問一個Person對象,使用下面的代碼:無法使用db查詢訪問django配置文件,但它獲取登錄用戶的配置文件

from django.contrib.auth.forms import UserCreationForm 
from django.template import RequestContext 
from django.shortcuts import render_to_response,get_object_or_404 
from django.core import urlresolvers 
from django.http import HttpResponseRedirect 
from django.contrib.auth.decorators import login_required 
from accounts.forms import UserRegistrationForm, UserProfileForm 
from pprint import pprint 
from django.http import HttpResponse 
from models import User 
from models import UserProfile 

def profile(request, url,template_name='person/profile.html'): 
    user=User(username=url).get_profile().person; 
    return HttpResponse(user) 

,它給錯誤:

DoesNotExist at /p/Haafiz/ 
UserProfile matching query does not exist. 

在另一個地方,我想用下面的代碼這樣做:

from django.contrib.auth.forms import UserCreationForm 
from django.template import RequestContext 
from django.shortcuts import render_to_response,get_object_or_404 
from django.core import urlresolvers 
from django.http import HttpResponseRedirect 
from django.contrib.auth.decorators import login_required 
from accounts.forms import UserRegistrationForm, UserProfileForm 
from pprint import pprint 
from django.http import HttpResponse 
from accounts.forms import UserProfile 

@login_required 
def dashboard(request,template_name="account/dashboard.html"): 
    return HttpResponse(request.user.get_profile().person) 

而在這種情況下,它工作正常。那麼,有人可以告訴我在第一個地方有什麼問題,我試圖訪問從db獲取的對象的配置文件?請告訴我是否需要更多信息才能給您提供更好的主意。在此先感謝大家,這兩種情況對我來說似乎都一樣,但它在上述問題上存在問題,所以任何幫助都將值得讚賞。

回答

0

User(name=url)只是生成一個用戶的實例,而不是查詢某個用戶的數據庫。

變化

user=User(username=url).get_profile().person 

user = User.objects.get(username=url).get_profile().person 
+0

你試過了嗎?我認爲它會工作。 – iMom0

+0

與此錯誤有相同的錯誤 – Hafiz