1.添加新条目html
1>编写用于添加新条目的表单数据库
在forms.py中建立一个与模型Entry相关联的表单浏览器
1处给字段'text'指定一个空标签函数
2处定义小部件widgets,widgets是一个HTML表单元素orm
2>定义new_entry的URL模式htm
在用于添加新条目的页面的URL模式中,须要包含实参topic_id,由于条目必须与特定主题相关联。请求的URL与这个模式匹配时,Django将请求和主题ID发送给函数new_entry()对象
3>编写视图函数blog
1处表示使用形参topic_id来得到正确的主题get
2,3处都与上一节编写的new_topic同样的it
4处表示若是请求方法是POST,咱们就对数据进行处理:建立一个EntryForm实例,使用request对象中的POST数据来填充它
5处调用save()时,咱们传递了实参commit = False,目的是让Django建立一个新的条目对象,并将其存储到new_entry中,但不将它保存到数据库中
6处表示咱们将new_entry的属性topic设置为在这个函数开头从数据库中获取的主题,而后调用save(),这将把条目保存到数据库,并将其与正确的主题相关联
7处表示调用HttpResponseRedirect()将用户重定向到显示新增条目所属主题的页面,用户将在该页面的条目列表中看到新添加的条目
4>编写模板new_entry.html
1处表示添加一个连接,让用户知道他是在哪一个主题中添加条目
2处表单实参action包含URL中的topic_id值,让视图函数可以将新条目关联到正确的主图,实参method让浏览器以POST方式提交数据
5>连接到页面new_entry
咱们须要在显示特定主题的页面中添加到页面new_entry的连接
6>运行manage.py
点击Topics下面的任一一个主题,好比Dota2吧
点击add new entry
点击add entry
网页跳转到Dota2的entries下,并列出新添加的entry,上图红圈就是哈