一、首页视图模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<h1>Welcom to MJ'S blog!</h1>
{% for category in categories %}
<p>
<a href="{% url 'mamengli_blog:page_list' category.course %}">{{category}}</a>
</p>
{% endfor %}
{% for page in pages %}
<p>
{{page}}
</p>
{% endfor %}
</body>
</html>
这里有两点需要注意:
1.mamengli_blog
命名空间包含的是mamengli_blog
应用下的所有路由,page_list
是该项目下具体路由的名字,这样就不用一个一个去匹配网址,直接精准定位。而且方便更改,方便书写;
2.该网址为动态网址,有一个变量,需要传参:
url(r'^category/(?P<category_name_slug>[\w\-]+)/$', views.index, name='page_list')
那么如何在模板中进行传参呢?直接写在路由名字的外面,需要传几个参数,就写几个。
二、课程文章列表模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>course</title>
</head>
<body>
{{category.course}}
{% for page in pages %}
<p>
<a href="{% url 'mamengli_blog:page_detail' page.category.slug page.id %}">{{page.title}}</a>
</p>
{% endfor %}
</body>
</html>
这里有两点需要注意:
1.当获得文章列表后,每篇文章都有一个超链接,需要两个参数:当前的课程以及该文章的id。当前课程可以通过文章的外键的slug(非course)属性获得。
2.当url
需要两个参数的时候,直接在后面写:
<a href="{% url 'mamengli_blog:page_detail' page.category.slug page.id %}">
网友评论