我有一个模型,我试图根据 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" 的课程肯定存在,因为它在另一个我没有过滤但只显示所有课程的模板上呈现良好),它给了我“对不起,那个课程不存在。”
谁能看到我做错了什么?