视图 在Django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求的,视图函数处理之后,要给浏览器返回页面内容。 视图函数的使用 1)定义视图函数 视图函数定义在views.py中。 例: def index(request): #进行处理。。。 return HttpResponse('hello python') 视图函数必须有一个参数request,进行处理之后,需要返回一个 HttpResponse的类对象,hello python就是返回给浏览器显示的内容。 2)进行url配置 url配置的目的是让建立url和视图函数的对应关系。url配置项定义在urlpatterns的列表中,每一个配置项都调用url函数。 url函数有两个参数,第一个参数是一个正则表达式,第二个是对应的处理动作。 配置url时,有两种语法格式: a) url(正则表达式,视图函数名) b) url(正则表达式,include(应用中的urls文件)) 工作中在配置url时,首先在项目的urls.py文件中添加配置项时,并不写具体的url和视图函数之间的对应关系,而是包含具体应用的urls.py文件,在应用的urls.py文件中写url和视图函数的对应关系。 url匹配的过程 在项目的urls.py文件中包含具体应用的urls.py文件,应用的urls.py文件中写 url和视图函数的对应关系。 当用户输入如http://127.0.0.1:8000/aindex时,去除域名和最前面的/,剩下aindex,拿aindex字符串到项目的urls文件中进行匹配,配置成功之后,去除匹配的a字符,那剩下的index字符串继续到项目的urls文件中进行正则匹配,匹配成功之后执行视图函数index,index视图函数返回内容hello python给浏览器来显示。 模板 模板不仅仅是一个html文件。 模板文件的使用 1) 创建模板文件夹 2) 配置模板目录 3) 使用模板文件 a) 加载模板文件 去模板目录下面获取html文件的内容,得到一个模板对象。 b) 定义模板上下文 向模板文件传递数据。 c) 模板渲染 得到一个标准的html内容。 给模板文件传递数据 模板变量使用:{{ 模板变量名 }} 模板代码段:{%代码段%} for循环: {% for i in list %} {% endfor %} 案例完成 编码之前的准备工作: 1) 设计出访问页面的url和对应的视图函数的名字,确定视图函数的功能。 2) 设计模板文件的名字。 以下为案例中的简单设计过程: 1)完成图书信息的展示: a) 设计url,通过浏览器访问 http://127.0.0.1:8000/books/ 时显示图书信息页面。 b) 设计url对应的视图函数show_books。 查询出所有图书的信息,将这些信息传递给模板文件。 c) 编写模板文件show_books.html。 遍历显示出每一本图书的信息。 2) 完成点击某本图书时,显示出图书里所有英雄信息的页面。 a) 设计url,通过访问http://127.0.0.1:8000/数字/时显示对应的英雄信息页面。 这里数字指点击的图书的id。 b)设计对应的视图函数detail。 接收图书的id,根据id查询出相应的图书信息,然后查询出图书中的所有英雄信息。 b) 编写模板文件detail.html。