Django框架视图函数设计示例


Posted in Python onJuly 29, 2019

本文实例讲述了Django框架视图函数。分享给大家供大家参考,具体如下:

视图函数即为处理HTTP请求的python函数。一般情况下,视图函数的功能是通过模型层对象处理数据,然后通过下面三种方式返回HTTP Response:

  1. 直接构造HTTP BODY
  2. 用数据渲染HTML模板文件
  3. 如果有逻辑错误就返回HTTP错误或者其他状态!

1.直接构造HTML页面

对于简单的页面,可以直接在视图函数汇总构造返回给客户端的字符串,通过HttpResponse函数封装后返回:

#views.py
from django.http import HttpResponse
import datetime
def test(request):
  now = datetime.datetime.now().strftime("%y-%m-%d %h:%m:%s")
  return HttpResponse(now)

2.渲染HTML文件

模板文件渲染通过render函数实现:

from django.shortcuts import render
from app.models import Moment
def test(request, moment_id):
  m = Moment.objects.get(id=moment_id)
  return render(request, '/templates/moment.html', {'headlin':m.headline, 'user':m.user_name})
render函数的第一个参数是HTTP request, 第二个为html路径, 第三个模板参数

3.返回http error

HTTP错误通过HTTP头部status表达,通过HttpResponse构造参数status,返回http错误或者状态:

from django.http import HttpResponse
def my_error(request):
  return HttpResponse(status=404)

解析:

可返回404状态码

对于常用status状态定义多个HttpResponse的子类,可以通过这些子类直接定义response

from django.http import HttpResponseNotFount
def my_err(request):
  return HttpResponseNotFount()

跟上面的代码效果相同!

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python实现udp数据报传输的方法
Sep 26 Python
详解Python中with语句的用法
Apr 15 Python
python对html代码进行escape编码的方法
May 04 Python
python 实现上传图片并预览的3种方法(推荐)
Jul 14 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
Jan 29 Python
python实现关键词提取的示例讲解
Apr 28 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
python判断一个变量是否已经设置的方法
Aug 13 Python
Python自动登录QQ的实现示例
Aug 28 Python
Pycharm安装第三方库失败解决方案
Nov 17 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 #Python
Python 硬币兑换问题
Jul 29 #Python
django中使用Celery 布式任务队列过程详解
Jul 29 #Python
详解python中自定义超时异常的几种方法
Jul 29 #Python
Python 离线工作环境搭建的方法步骤
Jul 29 #Python
如何通过python的fabric包完成代码上传部署
Jul 29 #Python
Python八皇后问题解答过程详解
Jul 29 #Python
You might like
谈谈新手如何学习PHP
2006/12/23 PHP
QueryPath PHP 中的jQuery
2010/04/11 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
js 自制滚动条的小例子
2013/03/16 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
python django生成迁移文件的实例
2019/08/31 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
Python 高效编程技巧分享
2020/09/10 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
社区消防工作实施方案
2014/03/21 职场文书
志愿者活动总结范文
2014/04/26 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
工作经历证明范本
2015/06/15 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
Python打包为exe详细教程
2021/05/18 Python
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
python模板入门教程之flask Jinja
2022/04/11 Python