Django показать страницу избранного пользователя - PullRequest
1 голос
/ 28 марта 2019

Я хочу создать страницу, где пользователь сможет видеть свои любимые посты.Как я могу изменить следующий шаблон для отображения избранного сообщения?

{% if (user has any favorite posts %}
    show here
{% else %}
            User has no favorite posts
{% end if %}
        </tr>

Вот файл .html

<td>
    <form method='POST' action="{% url 'foobar:favourite_post' video.id %}">
        {% csrf_token %}
        <input type='hidden'>
        <button type='submit'>Bookmark</button>
    </form>
</td>

Вот файл view.py file

def favourite_post(request, fav_id):
    video = get_object_or_404(Video, id=fav_id)
    if request.method == 'POST':
        video.favourite.add(request.user)

    return redirect('/foobar/%s' % fav_id)

Вот файл models.py

from django.contrib.auth.models import AbstractUser

class ProjectUser(AbstractUser):

    def __str__(self):
        return self.email

class Video(models.Model):
    name = models.CharField(max_length=255),
    videofile = models.FileField(upload_to="static/videos/"),
    favourite = models.ManyToManyField(ProjectUser, related_name="fav_videos", blank=True)

1 Ответ

1 голос
/ 28 марта 2019

похоже все что вам нужно это для пустых

{% for video in user.fav_videos.all %}
    <td>{{ video.name }}</td>
{% empty %}
    <td >No Bookmarked Videos</td>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...