在“MYAPP”我有一个模型“资料”,这股与我的自定义用户模型OnetoOneField关系。在我的许多观点中,我需要检查用户是否设置了配置文件。所以,我创建了一个模块“profilecheck”包含此功能:自定义函数来查询数据库跨Django的意见
def has_profile(req):
try:
profile = Profile.objects.get(user=req.user)
return profile
except:
return False
在我的views.py,我有以下几点:
from myapp.utils.profilecheck import has_profile
from myapp.models import Profile
def viewprofile(request):
if has_profile(request):
context = {
'profile': has_profile(request)
}
return render(request, 'profile.html', context)
else:
return render(request, 'setup_profile.html', {})
当在视图中调用,has_profile(总是)返回假。任何想法为什么?
编辑响应阿米尔阿德南 –
如果你尝试'打印(Profile.objects.all())'发生了什么?也许您的个人资料数据还没有建立,或者你还没有登录.. –