Django - Пример простого настраиваемого тега шаблона

У меня пользователей , видео , тем , критериев и оценок

  • В видео есть тема
  • тема имеет критерии
  • A пользователь может создать видео для данной темы
  • пользователь может оценить видео по каждому критериям , заданным для касается темы .

Вы можете увидеть мое исходное сообщение Django - шаблон DetailView с примером модели оценки , чтобы получить подробную информацию об используемой модели

Я расширил DetailView , основанный на модели видео , чтобы добавить список оценок для выбранного видео для данного пользователя в качестве дополнительного контекста.

class VideoFileDetailView(DetailView):
  model = VideoFile

  def get_context_data(self, **kwargs):
    context = super(VideoFileDetailView, self).get_context_data(**kwargs)
    context['rates'] = VideoRate.objects.filter(video=self.object, user=self.request.user)
    return context

В шаблоне, на который указывает DetailView , я бы хотел чтобы перечислить критериев видео , и для каждого критерия отобразить текущее значение рейтинга сформируйте пользователя .

    {% for crit in videofile.topic.crits.all %}
  • {% for rate in rates %} {% if rate.crit.id == crit.id %} {{ rate.rate }} {% endif %} {% endfor %}
    {{ crit }}
  • {% endfor %}

( rateit - это плагин jquery, который я использую для рисования элементов управления рейтингом красивых звезд)

На самом деле я получаю свои значения рейтинга здесь во втором для , но я уверен, что есть лучший способ сделать это. На самом деле, я все еще не уверен в правильности моей модели .

Наконец, я хотел бы заменить {# значение рейтинга #} значением рейтинга из рейтинга для текущий крит (в цикле). Как я могу это сделать?

56
задан Community 23 May 2017 в 12:10
поделиться