
无需加好友免费技术支持
根据对上一节的掌握,我们可以通过django的admin界面添加了我们自己的数据信息,然后我们必须将这种资料显示为一个blog的模样。
最先,大家相匹配app下,改动urls.py文件。
然后打开article/views.py,再度完成相对应的主视图函数公式article_list():
最后运用context将全部内容传送给模板category-list.html模板承担3D渲染全部内容
使我们先看看重要编码:
这句话是插进他们的管理页面articles从数据库中获取数据,并按创建时间开展排列。 比较方便是指,不用写sql语句了,用ORM(Object-Relationl Mapping)实际操作方法十分便捷。
这儿何不深层次了解一下,在这儿返回articles是一个QuerySet的基本数据类型,这儿不要把他了解为一个从数据库获得到的返回,我觉得能理解成一个sql语句。
由于queryset懒加载 (lazy)换句话说,编码在这儿执行,不容易连接数据库查看,很有可能仅仅拼装了一个查看句,如果你真真正正应用这一对象时(articles)将数据库连接下去,并把查看的数据储存到缓存文件中。
比如,执行这个句子是第一次连接数据库
当运转到下列语句时,应用缓存文件而非连接数据库。
其特点是能够预防与数据库的很多不必要连接,提升查看高效率。
此外,QuerySet的基本数据类型的另一个特点是适用链条式实际操作。 执行对象里的方法后,结论仍是对象,便于执行对象里的别的方法。
一样的方法能够再次调用以每一个函数公式或方法的执行结论,由于每一个函数公式的返回值是QuerySet。
QuerySet有许多方法能够返回。QuerySet,比如,适用链条式实际操作all()、fliter()、order_by()这些,应用这种实际操作,您可以非常容易地融合您要的查询条件,实际的或是朋友网咖,在这里也不过多阐释了。
QuerySet API
返回新 QuerySet 的方法 filter()exclude()annotate()alias()order_by()reverse()distinct()values()values_list()dates()datetimes()none()all()union()intersection()difference()select_related()prefetch_related()extra()defer()only()using()select_for_update()raw()返回新 QuerySet 的运算符 AND(