我是Django框架的新手。这个问题“profile matching query does not exist”出现了,我不明白这个问题是从哪里产生的。请告诉我还需要什么代码来解决这个错误。我会更新这个问题。
配置文件匹配查询不存在
![“配置文件匹配查询不存在”](https://i.stack.imgur.com/YfHio.png)
我已经重新检查了urls.py、views.py、索引文件中的代码。但是我无法解决这个问题。
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.index, name = 'index'),
path('signup',views.signup, name = 'signup'),
path('signin',views.signin, name = 'signin'),
path('logout',views.logout, name = 'logout'),
path('settings',views.settings, name = 'settings'),
path('upload',views.upload, name = 'upload'),
]
views.py -〉索引
@login_required(login_url='signin')
def index(request):
user_object = User.objects.get(username=request.user.username)
user_profile = Profile.objects.get(user=user_object)
return render(request, 'index.html', {'user_profile':user_profile})
1条答案
按热度按时间vd8tlhqk1#
看起来好像没有
Profile
记录与User
对象关联。在查找配置文件之前,需要检查
user_object
的值,尽管可以肯定这是正确的,如果它实际上没有找到关联的Profile
记录,则处理Profile.objects.get
。你可以通过
或者,您可以使用
get_object_or_404
方法,如果没有找到记录,该方法会将您重定向到您的404页面。https://docs.djangoproject.com/en/4.1/topics/http/shortcuts/#get-object-or-404