Django整理(二) - 视图和模板的初步使用
Django中的视图
· Django使用视图来编写web应用的业务逻辑
· Django的视图也就是一个函数,可称为视图函数
· 视图定义在应用的view.py文件中
· 视图需要绑定一个URL地址(路由),才能被Django框架找到并调用执行
一、视图的初步使用
需求:编写视图并配置URL(路由),实现一个显示界面
1. 需求:当浏览器中访问URL地址 http://127.0.0:8000/users/index时,显示hello django信息
2. 实现:
i. 需要编写一个视图函数
ii. 针对该视图配置访问路由
1. 创建视图
打开刚创建的users模块,在views.py中编写视图代码。


关于视图的说明:
· 关于视图
i. 视图不是由开发者主动调用的,而是由Django框架调用
ii. 当Django接收到请求时,会进行URL正则匹配,调用对应的视图
iii. 调用视图时,Django会把请求信息封装为一个HttpRequest对象,并作为视图的第一个参数传入
· 关于视图的参数
i. 视图的第一个参数必须定义,名字可自定义,但习惯命名为request,类型为HttpRequest
ii. 缺少了该参数,Django在调用视图时,将无法传入Httprequest对象
· 关于视图的返回值
i. 视图必须返回一个HttpResponse对象 (或其子类的对象)
ii. HTTPRequest请求对象由Django创建,HttpResponse响应对象由开发人员创建
2. 配置URL(路由)
· 在项目下的urls.py文件中进行url路由配置如下:

3. 在浏览器中测试
在浏览器中输入网址 http://127.0.0.1:8000/users/index,确认是否执行了视图的逻辑,返回hello django 信息

二、模板的初步使用
1. 在项目的 templates 目录下创建一个模板文件

2. 在视图函数中,使用 render() 方法渲染模板,得到 HttpResponse 对象并返回

3. 额外项目配置
【注意】针对命令行创建的项目,需要额外手动创建模板目录,并进行配置;如果Pycharm创建的项目则无需额外操作
3.1 在项目根目录下创建 templates 模板目录,后续开发中模板文件会放在此目录下
3.2 在 setting.py 项目配置文件中,作如下配置:

Django整理(二) - 视图和模板的初步使用的更多相关文章
- Django 基础篇(二)视图与模板
视图 在django中,视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数,包含了请求的信息 视图就是一个Python函数,被定义在views.py中 #coding:utf- fro ...
- django学习2 视图和模板
1 编写更多的视图 polls/views.py def detail(request, question_id): return HttpResponse("You're looking ...
- Part 3:视图和模板--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- 五、Django之视图和模板-Part 3
一.概述 一个视图就是一个页面,通常提供特定的功能,使用特定的模版.列如:在一个博客应用中,你可能会看到下列视图: 博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页 ...
- Django - 环境搭建、url、视图、模板、标签、过滤器
(一).简介 简介就不多说了,网上的内容一大堆.总结来说,django是走大而全的路线,写项目超级快,几乎什么都为你考虑到了,你就乖乖照着它的格式来写就行了. 这里来一些基本认知: web应用框架(w ...
- 【python】-- Django路由系统(网址关系映射)、视图、模板
Django路由系统(网址关系映射).视图.模板 一.路由系统(网址关系映射) 1.单一路由对应: 一个url对应一个视图函数(类) urls.py: url(r'^test', views.test ...
- Django基础之视图(views)层、模板层
目录 Django基础之视图(views)层.模板层 JsonResponse 向前端返回一个json格式字符串的两种方式 重写Django中的json的某个方法 form表单上传文件 FBV与CBV ...
- Django基础三之路由、视图、模板
Django基础三之路由.视图.模板 目录 Django基础三之路由.视图.模板 1. Django 请求和返回周期 1.1 路由层之路由匹配 1.2 有名分组 1.3 无名分组 2. 反射解析 3. ...
- 第一个Django应用 - 第三部分:Django视图和模板
一.概述 一个视图就是一个页面,通常提供特定的功能,使用特定的模板.例如:在一个博客应用中,你可能会看到下列视图: 博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页 ...
随机推荐
- 11.SpringMVC之HttpMessageConverter
HttpMessageConverter简介 HTTP 请求和响应的传输是字节流,意味着浏览器和服务器通过字节流进行通信.但是,使用 Spring,controller 类中的方法返回纯 String ...
- new一个对象的时候,实际做了些什么
当我们说new一个对象的时候,实际做了些什么, 可以参考下图理解
- Intel® QAT加速卡之Ring & Ring Bank
1. QAT的应用模式 Intel 通讯系列芯片对于每种受支持的加速服务(加密,数据压缩),都支持以下应用模式: 内核模式,其中应用程序和加速服务都在内核中运行空间. 用户空间直接访问在用户空间中运行 ...
- linux 下 I/O 多路复用初探
本文内容整理自B站up主 free-coder 发布的视频:[并发]IO多路复用select/poll/epoll介绍 引入 一般来讲,服务器在处理IO请求(一般指的是socket编程)时,需要对so ...
- vue中如何深度监听一个对象?
大家都知道,Vue项目中对数据的监听,提供了一个很好的钩子watch,watch可以极其方便的监听我们常用数据类型值的变化,但通常当我们想监听一个对象中,某个属性值的变化时,很难达到我们预期的效果.那 ...
- Redis核心原理与实践--列表实现原理之ziplist
列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入.弹出数据,可以充当栈和队列的角色. > LPUSH fruit apple (integer) 1 > RPUSH ...
- C# 动态构建表达式树(二)——构建 Select 和 GroupBy 的表达式
C# 动态构建表达式树(二)--构建 Select 和 GroupBy 的表达式 前言 在上篇中写了表达式的基本使用,为 Where 方法动态构建了表达式.在这篇中会写如何为 Select 和 Gro ...
- N皇后演示程序
问题描述: 在N×N格的棋盘上放置彼此不受攻击的N个皇后,按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子,求解可以放置的布局方式. 设计要求: (1) 要求实现图形化棋盘显示 ...
- Android学习记录(二)——第一次hello world及遇到的gradle安装问题
开始一个简单的hello world项目,简单了解Android studio的使用方法 第一步,打开Android studio,点击Create New Project 第二步,选择需要的模板 T ...
- input竖直的输入框,文字从上到下排列
有的时候可能会有这样的需求,一个竖直的输入框,输入信息,文字也是从上到下排列: (但是在移动端或用轮播swiper时不起作用,可以用textarea代替input) <!DOCTYPE html ...