self.kwargs
содержит параметры, которые находятся в пути URL.Таким образом, в вашем urls.py
вы должны определить что-то вроде:
# urls.py
from app.views import HomePageView
urlpatterns = [
path('<b><int:pk></b>/', HomePageView.as_view()),
]
Затем вы можете посетить страницу с действительным первичным ключом, например, /14
, если 14
является действительным первичным ключом.для User
.
Если вы хотите использовать зарегистрированного пользователя вместо этого, вы должны использовать self.request.user
вместо:
# in case you want to use the logged in user
django.views.generic.list import ListView
from django.contrib.auth.mixins import LoginRequiredMixin
class HomepageView(LoginRequired, ListView):
model = Notes
template_name = 'home.html'
def get_queryset(self):
return Notes.objects.filter(author=self.request.user)
Примечание : может быть лучше использовать get_user_model
[Django-doc] для указания на пользовательскую модель, поскольку, если вы позже измените пользовательскую модель, изменение внешних ключей будет проще.
Примечание : Вы можете рассмотреть возможность использования DateTimeField(auto_now_add=True)
вместоmodels.DateTimeField(default=timezone.now)
, так как это сделает поле недоступным для редактирования и т. д.