Django html IF оператор не сравнивает переменные модели - PullRequest
0 голосов
/ 06 апреля 2020

Попытка вложить оператор IF в циклы FOR для сегментирования видео по родительской переменной. Тем не менее, мой оператор if, похоже, не распознает совпадения.

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

Профиль. html

{% for x in source %}
    <div class="content-section">
      <div class="media-body">
      <h2 class="account-heading">{{ x.video_id }}</h2>
      {% for y in records %}
        <h1 class="text-secondary">{{ y.sourcevideo.video_id }}</h1>
        {% if '{{ x.video_id }}' == '{{ y.sourcevideo.video_id }}' %}
          <video width="320" height="240" controls>
            <source src="{{ y.highlight }}" type="video/mp4">
              Your browser does not support the video tag
            </video>
        {% else %}
        <h1 class="text-secondary">No Matches</h1>
        {% endif %}
      {% endfor %}
      </div>
    </div>
  {% endfor %}

views.py

class ProfileView(ListView):
    model = Highlight
    template_name = 'users/profile.html'
    context_object_name = 'records'
    ordering = ['-date_created']

    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        return super().dispatch(*args, **kwargs)

    def get_queryset(self):
        return Highlight.objects.filter(creator=self.request.user)

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['source'] = Video.objects.filter(creator=self.request.user)
        return context

1 Ответ

0 голосов
/ 06 апреля 2020

Ваше утверждение сравнивает две разные строки: "{{ x.video_id }}" и "{{ y.videosource.video_id }}".

Вам необходимо сравнить переменные: {% if x.video_id == y.sourcevideo.video_id %}.

...