显示全部主题的页面
1.定义URL模式html
2.定义视图web
函数topics()须要从数据库中获取一些数据,并将其发送给模板正则表达式
1处导入与所需数据相关联的模型数据库
2处表示Django从服务器收到的request对象服务器
3处查询数据库 -- 请求提供Topic对象,并按属性date_added对它们进行排序,并将查询集存储在topics中app
4处定义了一个将要发送给模板的上下文函数
5处根据视图提供的数据渲染响应url
3.建立模板topics.htmlhtm
该网页的主题是一个项目列表,其中列出了用户输入的主题。在HTML中,项目列表被称为无序列表,用标签<ul></ul>表示对象
{% for %} {% endfor %}至关于for循环的模板标签
<li></li>之间的内容都是一个项目列表项
{% empty %}告诉Django在列表topics为空时该怎么办
<a href="{% url 'web_app:topic' topic.id %}">{{ topic }}</a> 表示将每一个主题都连接到相应的网页
4.在base.html中的主页连接后面添加一个连字符,而后添加一个显示全部主题的页面的连接
5.显示特定主题的页面
1>定义URL模式
2>编写视图函数topic()
1处的topic接受正则表达式(?P<topic_id>\d+)捕获的值
2处使用get()来获取指定的主题
3处获取与主题相关的条目,并将它们按时间降序排列
4处将主题和条目都存储在字典context中
5处表示将字典context发送给模板topic.html
3>建立模板