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 encode和decode的妙用
Sep 02 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 Python
python装饰器深入学习
Apr 06 Python
对python的输出和输出格式详解
Dec 08 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
python sorted函数原理解析及练习
Feb 10 Python
python为什么会环境变量设置不成功
Jun 23 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 Python
python控制台打印log输出重复的解决方法
May 14 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中imagick函数的中文解释
2015/01/21 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
js表单验证实例讲解
2016/03/31 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
线程和进程的区别及Python代码实例
2015/02/04 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
Python实现数字的格式化输出
2020/08/01 Python
python反扒机制的5种解决方法
2021/02/06 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
出纳岗位职责模板
2013/11/27 职场文书
优秀员工年终发言演讲稿
2014/01/01 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
先进工作者推荐材料
2014/12/23 职场文书
车间主任岗位职责
2015/02/03 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
生活小常识广播稿
2015/08/19 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书