Django中的View视图(view.py)是负责处理用户请求和返回响应的逻辑。

视图函数或视图简而言之就是一个python函数,它接受一个web请求并返回一个Web响应。

此响应可以是网页的HTML内容,重定向或404错误,XML文档或图像。

一个简单的视图:

from django.http import HttpResponse

import datatime

def current_datetime(request):

  now = datatime.datatime.now()

  html = "<html><body>It is now %s.</body></html>"% now

  return HttpResponse(html)

一般不使用以上代码的形式,这里只为做返回页面理解用,如果把html标签都写到代码中是很麻烦的,我们可以这样写,在templates文件夹下创建一个html文件,然后给render()传递参数的形式来进行跳转。

返回错误

直接返回一个404,没有去加载404的模板页面

return HttpResponseNotFound(''<h1>page not  found</h1>)

可以直接返回一个status状态码

return HttpResponse(status=403)  #返回一个请求遭到拒绝的界面

返回一个404的错误页面

raise Http404(Poll does not exist) #如果不指定自己创建的404的界面,则返回默认的404界面,如果指定界面是在templates文件夹下创建404.html,系统会自动找到该界面。

注意:写404页面的时候需要注意一下几点

1、在settings.py配置文件中修改DEBUG=False

2、ALLOWED HOSTS=['*'] 指定下地址,*为接收所有

关于重定向

重定向就是通过各种方法将各种网络请求重新定个方向转到其他位置

from django.shortcuts import redirect

#redirect重定向一个界面 reverse反向解析url地址

return redirect(reverse(‘userindex’))

反向解析:reverse()就是反向解析的函数,参数为子路由的url(r'^$',views.index,name="myhome_index")   name属性的值,这样可以在views.py中通过reverse(myhome_index)就找到了views.index,这就叫反向解析。 使用reverse()需导入包  from django.core.urlresolvers import reverse

reverse(‘userindex’) 返回的是路径

#执行一段js代码,用js进行重定向

return HttpResponse('<script>alert("添加成功");location.href="/userindex";</script>')

#加载一个提醒信息的跳转页面

context={}

Django中的View视图讲解的更多相关文章

  1. Django框架 之 view视图

    Django框架 之 view视图 浏览目录 概述 简单的视图 HttpRequest对象 CBV和FBV 给视图加装饰器 Request对象 Response对象 JsonResponse对象 Dj ...

  2. [Django]中建立数据库视图

    Django中建立数据库视图 Django中没有建立视图的接口.假设要建立一个视图须要一些手动的改变. 这里使用的Django 版本号>1.5, 使用的数据库为mysql 第一步 建立视图,比如 ...

  3. Django中的CBV视图

    Web 开发是一项无聊而且单调的工作,特别是在视图功能编写方面更为显著.为了减少这种痛苦,Django植入了视图类这一功能,该功能封装了视图开发常用的代码,无须编写大量代码即可快速完成数据视图的开发, ...

  4. django中的类视图

    # 原创,转载请留言联系 当我们在开发一个注册模块时.浏览器会通过get请求让注册表单弹出来,然后用户输完注册信息后,通过post请求向服务端提交信息.这时候我们后端有两个视图函数,一个处理get请求 ...

  5. Django中CBV View的as_view()源码解析

    CBV与FBV路由区别 urlpatterns = [ url(r'^publish/$', views.Publishs.as_view()), # CBV写法 url(r'^publish/$', ...

  6. Android中不能在子线程中更新View视图的原因

    这是一条规律,很多coder知道,但原因是什么呢? 如下: When a process is created for your application, its main thread is ded ...

  7. django中的view测试和models测试样例

    感觉用model_mommy比factory_boy要好些. 如果Models.py如下: from django.db import models from django.contrib.auth. ...

  8. Django框架——基础之视图系统(View.py)

    Django框架之View.py(视图文件) 1. 视图简介 视图层是Django处理请求的核心代码层,我们大多数Python代码都集中在这一层面. 它对外接收用户请求,对内调度模型层和模版层,统合数 ...

  9. Django框架详细介绍---视图系统

    Django视图系统 1.什么是视图 在Django中,一个视图函数/类,称为视图.实质就是一个用户自定义的简单函数,用来接收WEB请求并xing响应请求,响应的内容可以是一个HTML文件.重定向.一 ...

随机推荐

  1. Delphi IdHTTP 设置cookie 和访问后读取Cookie 值

    procedure TForm1.btn1Click(Sender: TObject); var   IdHTTP: TIdHTTP;   mstrCookie: string;   Cookies ...

  2. 使用U盘为虚拟机安装系统

    前提:使用虚拟机安装WIN8系统时,由于WIN8镜像文件大于4G无法使用虚拟安装,所以使用U盘安装. 1.装有U盘启动的WINPe系统 (1)下载 老毛桃U盘启动盘制作工具 (2)U盘清空 2.虚拟机 ...

  3. Win10系统桌面右键新建没有内容怎么恢复

    Win10系统桌面右键新建没有内容怎么恢复 添加txt文本文档 运行->regedit,打开注册表编辑器 展开HKEY_CLASSES_ROOT 找到.txt 选中.txt,修改右侧窗格的“默认 ...

  4. linux 内核启动流程分析,移植

    分析 linux-2.6.22.6 内核启动流程 移植 linux-3.4.2 到 JZ2440 开发板 Linux内核源码百度云链接: https://pan.baidu.com/s/1m1ymGl ...

  5. HD200703

    #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #inc ...

  6. XtraBackup之踩过的坑

    xtrabackup相信目前使用已经非常广泛了,备份innodb表的首选工具,但是其中还是有点小坑,虽然发生的概率不大,但是我还是踩坑了.关于xtrabackup的详细参考请查阅官方文档http:// ...

  7. MongoDB的客户端管理工具--nosqlbooster 连接MongoDB服务器

    nosqlbooster的官网地址为https://nosqlbooster.com.大家如果想直接下载,可以登入下载网址https://nosqlbooster.com/downloads. 下载w ...

  8. MySQL数据库的权限问题操作及基本增删改查操作

    前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语 ...

  9. Python3学习之路~3.2 递归、函数式编程、高阶函数、匿名函数、嵌套函数

    1 递归 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. def calc(n): print(n) if int(n / 2) == 0: return n r ...

  10. [转]如何快速转载CSDN中的博客

    原文:https://blog.csdn.net/bolu1234/article/details/51867099 前言   对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时 ...