嗯,我得到404错误,即使我的用户存在于数据库中,我试图解决这个问题,但我不能你们帮我。我真的需要帮助
notes/views.py
class NotesListView(LoginRequiredMixin,ListView):
login_url = '/accounts/login/'
model = Notes
context_object_name = 'notes_data'
# paginate_by =
def get_queryset(self):
user = get_object_or_404(auth.models.User, username=self.kwargs.get('username'))
return Notes.objects.filter(author=user).order_by('-create_date')
如果我注释掉用户行,并在返回行中用用户主键替换用户变量,那么它将显示与该用户相关的所有注释。但很明显,我不能在视图或每个用户中使用相同的主键,所以我需要抓取特定用户并向他显示其注释列表。我无法做到这一点。我需要点帮助你们能帮我吗
notes/URL.py
app_name = 'notes'
urlpatterns = [
path ('create/',views.NotesCreateView.as_view(),name = 'notes_create'),
path ('detail/<int:pk>',views.NotesDetailView.as_view(),name = 'notes_detail'),
path('list/<str:username>',views.NotesListView.as_view(),name='notes_list'),
path('delete/<int:pk>',views.NotesDeleteView.as_view(),name='notes_delete'),
path('update/<int:pk>',views.NotesUpdateView.as_view(),name ='notes_update'),
]
我想你是在拿这样的笔记:
/list?username=myuser
在这种情况下,您可以从request
对象中检索username
参数,如下所示:您已经在URL.py中声明了以下模式
但是在您的视图中,您正试图通过
self.kwargs.get('username')
通过url参数获取用户名如果要访问
username
,需要使用参数调用url:127.0.0.1:8000/list/bob/
然后重写您的urlpattern,这样它就可以接受
bob
作为username
参数:然后在
self.kwargs
中,您将拥有{'username': 'bob'}
另一种方法是使用
GET
而不是URL
参数因此,如果你打电话:
127.0.0.1:8000/list?username=bob
您将通过
self.request.query_params.get('username')
获得它相关问题 更多 >
编程相关推荐