那就开始今天的教程吧
1.这节课来创建博客网站的首页,内容主要就是对文章首页的模板进行编写,重点是讲解视图层,通过通用视图ListView,来给大家展示如何使用通用视图更快速的编写views这个层面的代码,
强化前端使用的BootStrap框架,首页实际上就是网站的根目录,因为博客文章的这些数据都已经创建完了,不需要开发model层,直接来开发view层。
2.定义一个方法叫【index】,它有个参数request,要查询所有的文章,比方说blog_list,它是models.Bloginfo.objects.all,把它所有的记录拿出来,然后rende(request,"blog/index.html",),
这是要映射的模板,带着一个参数blog_list,它的内容是文章的列表,在前端把url配出来在blog这个APP里边,增加首页的路由,因为【首页就是根路径】,这个path里边也是空字符串,
相当于现在访问首页就是以http然后127.0.0.1:8000,这些是服务器的地址,根路径就访问到现在要做的首页。
3.应用中的路由也没有前序的副路径,它就是两个空串,所以它定义的就是网站的根目录,先创建index.html,blog index说明是创建的这个index模板,for blog in blog_list,返回变量的名字,
先把for和endfor写上,【这个标签如果手写一定要注意,它是有开始和结束的】,这里边进行打印,里边加blog.tittle,能打印出来所有的文章的标题,这是django模板层面的一个变量和循环的语法。
4.回到views中,将这个函数换一种写法,定义一个类class,这个类起名字叫index,让它继承自List,导入django.views.generic.ListView,这个包就是django框架模板的一个类,这个类里边非常简单,
定义模型model,数据是从models.Bloginfo里出,要查这个模型的所有数据,要映射到template模板上,template_name是blog/index.html,下一个也是需要的变量,context_object,context_object_name,、
blog_list,就这三个变量定义完,跟下面的这个方法做对比。
5.List它是获取一组数据的,这个场景里边是获取一组文章的列表会用到ListView,获取一个文章要用到DetailView,这个view分三种,第一个ListView,第二个叫DetailView,还有一个叫TemplateView,