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 GAE、Django导出Excel的方法
Nov 24 Python
Python中Class类用法实例分析
Nov 12 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
python3实现暴力穷举博客园密码
Jun 19 Python
python机器学习之神经网络(二)
Dec 20 Python
Python 从相对路径下import的方法
Dec 04 Python
Django 静态文件配置过程详解
Jul 23 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
python3.7 openpyxl 删除指定一列或者一行的代码
Oct 08 Python
Python线程threading模块用法详解
Feb 26 Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 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中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP ElasticSearch做搜索实例讲解
2020/02/05 PHP
json原理分析及实例介绍
2012/11/29 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
微信小程序实时聊天WebSocket
2018/07/05 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
python和opencv实现抠图
2018/07/18 Python
Python中请不要再用re.compile了
2019/06/30 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python创建学生管理系统
2019/11/22 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
货车司机岗位职责
2014/03/18 职场文书
文化建设工作方案
2014/05/12 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
Python 如何实现文件自动去重
2021/06/02 Python