URLで渡された引数に従ってフィルタリングしようとしているモデルがあり、フィルタリングされたオブジェクトをテンプレートを介して表示しますが、何が間違っているのかわかりません。
これがurls.pyです:
url(r'^courses/(?P<course_code>\w+)/$', views.course, name="course"),
ビューは次のとおりです。
from website.models import Course
def course(request, course_code):
current_course = Course.objects.filter(short_title='course_code')
template = loader.get_template('website/course.html')
context = Context({
'current_course': current_course,
})
return HttpResponse(template.render(context))
モデルは次のとおりです。
class Course(models.Model):
title = models.CharField(max_length=200)
short_title = models.CharField(max_length=5)
course_type = models.CharField(max_length=100)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
fee = models.IntegerField()
places = models.IntegerField()
venue = models.CharField(max_length=200)
description = models.TextField()
short_description = models.TextField()
age_low = models.IntegerField()
age_high = models.IntegerField()
そして、これがテンプレートです:
{% if current_course %}
{% for course in current_course %}
{{ current_course.title }}
{% endfor %}
{% else %}
<p>Sorry, that course doesn't exist.</p>
{% endif %}
そして、ページ/ courses / CR1をロードすると(short_title = "CR1"のコースは、フィルタリングではなく、すべてのコースを表示するだけの別のテンプレートで正常にレンダリングされるため、間違いなく存在します)、「申し訳ありませんが、そのコースです。存在しません。」
誰かが私が間違っていることを見ることができますか?