Django реализация функции списка пожеланий - PullRequest
0 голосов
/ 02 мая 2020

Я хочу сделать динамический значок c в CourseListView в шаблоне, чтобы показать различные значки, чтобы изменить цвет, если объект Course в списке пожеланий, но я не знаю, как сделать l oop для извлечения данных, для пример (если курс в wishlist.objects.all)

модели

class Wishlist(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE)
    wished_course = models.ForeignKey(Course,on_delete=models.CASCADE)
    slug = models.CharField(max_length=30,null=True,blank=True)
    added_date = models.DateTimeField(auto_now_add=True)

просмотров

def add_to_wishlist(request,slug):
    course = get_object_or_404(Course,slug=slug)
    wished_course,created = Wishlist.objects.get_or_create(wished_course=course,slug=course.slug,user=request.user,)
    return redirect('courses:courses')

class WishListView(ListView):
    model = Wishlist
    template_name = 'courses/wishlist.html'
    paginate_by = 10
    context_object_name = 'wishlist'

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

class CourseListView(LoginRequiredMixin,ListView):
    model = Course
    paginate_by = 10
    template_name = 'courses/my_courses.html'
    context_object_name = 'mygroups'

    def get_queryset(self,**kwargs):
        user = get_object_or_404(CustomUser,username=self.request.user.username)
        return user.tutor_courses.all()

template

     <div class="card">
      <a href="{% url 'courses:course_detail' course.slug %}">
        <div class="blurring dimmable image">
            {% if course.image %}
            <img src="{{course.image.url}}" style="height: 200px; width: 100%;">
            {% else %}
            <img src="{% static 'img/image.png' %}" style="height: 200px; width: 100%;">
            {% endif %}
        </div>
      </a>
      <div class="content">
        <a class="header" href="{% url 'courses:course_detail' course %}">{{course.title}}</a>
        <a class="header right floated">${{course.price}}</a>
      </div>
      <div class="extra content">
        <span class="right floated like">
          <a href="{{path}}"><i class="{{color}} like icon"></i></a>
        </span>
        <div class="ui star rating left floated"></div>
      </div>
      <div class="extra content">
          <div class="right floated author">
            <a href="{% url 'users:tutor_profile_view' course.tutor.username %}">
              <img class="ui avatar image" src="{{course.tutor.profile.get_picture}}">  
              {{course.tutor.username}}
            </a>
          </div>
      </div>
    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...