2017-11-22 3 views
0

リストが "view.py"からレンダリングされると、テンプレートはこれを取得できません。 これは私のviews.pyです:Djangoのテンプレートはリストを取得できません

class MyFavCourseView(LoginRequiredMixin, View): 
    def get(self, request): 
     course_list = [] 
     fav_courses = UserFavorite.objects.filter(user=request.user, fav_type=1) 
     for fav_course in fav_courses: 
      course_id = fav_course.fav_id 
      course = Course.objects.filter(id=course_id) 
      course_list.append(course) 
     return render(request, 'usercenter-fav-course.html', { 
      "course_list": course_list 
     }) 

/urls.py:

url(r'^course/', include('courses.urls', namespace="course")), 

/courses/urls.py:

url(r'^detail/(?P<course_id>\d+)/$', CourseDetailView.as_view(), name="course_detail"), 

usercenter-FAVコース」内のリンク.html ":

{% for course in course_list %} 
    <div class="module1_5 box"> 
    <a href="{% url 'course:course_detail' course.id %}"> 
     <img width="214" height="190" src="{{ MEDIA_URL }}{{ course.image }}"/> 
    </a> 
{% endfor %} 

sのページ、エラーが発生しました: https://i.stack.imgur.com/PU8Vy.png

答えて

0

をあなたはそれが1つの要素を保持している場合でも、あなただけ使うよう、それはまだその要素ではありません(あなたがコース全体クエリセットを追加している以下では見落とし

course_id = fav_course.fav_id 
course = Course.objects.filter(id=course_id) 
course_list.append(course) 

を行っていますテンプレートの世界でcourse.id非存在またはnullを作る配列の最初の要素として、フィルタは)

あなたは

course_id = fav_course.fav_id 
# Get single course instead of filtering selection out 
course = Course.objects.get(id=course_id) 
course_list.append(course) 
代わりに取得する必要があります
関連する問題