[英]Django - view another user's profile - QuerySet Error 'matching query does not exist'
我正在嘗試在 django 上建立一個基本博客,在那里可以查看任何其他用戶的個人資料(暫時簡單,我會在適當的時候更新 perms)。
我已嘗試對其進行設置,以便 url /testuser/
將您帶到username = 'testuser'
的用戶個人資料。 url 似乎直接沒問題,但是,我收到 QuerySet 錯誤'matching query does not exist'
。
我知道 'testuser' 存在,因為我可以在終端中使用相同的 arguments 訪問它,就像在下面的 views.py 中的get_queryset
中使用的一樣: CustomUser.objects.get(username='testuser')
。 因此,我認為我在views.py 或類似文件中使用get_queryset
一定有問題。
代碼如下。 提前感謝您的幫助。
視圖.py
from django.views.generic.detail import DetailView
from users.models import CustomUser
class ProfileView(DetailView):
template_name = 'profiles/self_profile.html'
def get_queryset(username):
return CustomUser.objects.get(username=username)
def get_slug_field(self):
return username
網址.py
urlpatterns = [
path('<str:slug>', ProfileView.as_view(), name='self_profile'),
]
提前感謝您的幫助。
解決了。
下面的代碼:
class ProfileView(DetailView):
template_name = ...
model = CustomUser
slug_field = 'username'
context_object_name = 'profile' # for referencing in template
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.