Я пытаюсь создать динамический c URL-адрес, который добавляет имя текущего пользователя в путь, когда он пытается go, на свою личную страницу сообщений. На странице личных постов я отфильтровал все посты и показал список постов только текущего пользователя. Я просто хочу добавить его имя в URL. это оно. Я много чего перепробовал и потерпел неудачу. У меня такое ощущение, что проблема в том, что автор ссылается на встроенную пользовательскую модель Django.
Мой код:
url:
path('<username>/', views.personalposts, name='personalposts'),
Представление:
До просмотра было:
def personalposts(request, username):
items = Post.objects.filter(author=request.user)
return render(request, 'TheApp/personalposts.html', {'items':items})
I все еще хочу отображать личные сообщения, как это. Это работает, но без динамического c URL.
Теперь я изменил его на:
def personalposts(request, username):
items = Post.objects.get(author=username)
return render(request, 'TheApp/personalposts.html', {'items':items})
Модель:
class Post(models.Model):
author = models.ForeignKey(User, on_delete=models.PROTECT)
#כדי שרק משתמשים רשומים יוכלו ליצור פוסט
title = models.CharField(max_length=200)
text = models.TextField()
create_date = models.DateTimeField(default=timezone.now)
post_views = models.IntegerField(default=0)