0

私はDjangoでサイトを開発していて、2種類のプロファイルを持っています。それらの1つはPersonという名前です。したがって、次のコードを使用して、Personオブジェクトにアクセスしようとしています。

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から取得するオブジェクトからプロファイルにアクセスしようとしている最初の場所で何が問題になる可能性がありますか?これらのケースはどちらも私には同じように見えますが、上記のケースで問題が発生しています。

4

1 に答える 1

0

User(name=url)特定のユーザーのデータベースを照会するのではなく、ユーザーのインスタンスを生成するだけです。

変化する

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

user = User.objects.get(username=url).get_profile().person
于 2012-06-24T17:56:42.153 に答える