Django views.py视图文件

一. 创建views.py文件,在工程文件夹根目录创建views.py视图文件,其实任意文件名都可以,使用views是为了遵循传统。

注:所有的views函数都需要以request对象作为第一个参数request代表客户端浏览器向服务器请求的一个信息字符串,views中的函数需要接收这个字符串才行对他进行处理。

 

二.HttpResponse函数:

在views.py里面,我们可以使用HttpResponse直接给页面返回一个字符串。

调用HttpResponse直接给页面返回一个字符串。

from django.http import HttpResponse

def hello(request):

return HttpResponse("Hello World!")

三.调用render函数返回一个网页:

render 英文是提供的意思:

render 是一个主要用来返回一个html模板页面的函数。

render(request,template_name,context=None,content_type=None,status=None,

using=None)

此方法的作用是:接收到一个请求,结合一个给定的模板和一个给定的context上下文字典,并返回一个渲染后的 HttpResponse 对象。通俗的讲就是接收到一个请求,然后指定好一个html模板,并把上下文context字典中的内容, 加载进templates_name中指定的模板文件, 并通过浏览器渲染呈现.

参数详解:

request: 是一个固定参数, 就是指通过接受到的通过wsgi处理过的客户端浏览器请求数

据。

template_name:templates中定义的HTML文件, 要注意路径比如'templates\polls\index.html', 参数就要写‘polls\index.html’

context: 要传入上下文中用于渲染呈现的数据, 默认是一个字典格式,键即下文html模板中需要被替换的元素,键值即在views视图函数中需要传到html模板中变量需要替换成的值。

content_type: 生成的文档要使用的MIME 类型。默认为DEFAULT_CONTENT_TYPE 设置的值。

status: http的响应代码,默认是200.

using: 用于加载模板使用的模板引擎的名称。

常见的MIME类型(通用型):

超文本标记语言文本 .html text/html

xml文档 .xml text/xml

XHTML文档 .xhtml application/xhtml+xml

普通文本 .txt text/plain

RTF文本 .rtf application/rtf

PDF文档 .pdf application/pdf

Microsoft Word文件 .word application/msword

PNG图像 .png image/png

GIF图形 .gif image/gif

JPEG图形 .jpeg,.jpg image/jpeg

au声音文件 .au audio/basic

MIDI音乐文件 mid,.midi audio/midi,audio/x-midi

RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

MPEG文件 .mpg,.mpeg video/mpeg

AVI文件 .avi video/x-msvideo

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

任意的二进制数据 application/octet-stream

注:使用默认就能返回所有类型。

from django.shortcuts import render

def index(request):

context={}                          #首先初始化这个字典

context['hello']= "Hello World!"   #context中的hello键代表Hello World!字

符串

return render(request, 'index.html', context)

而在index.html文件中:

参数hello需要用双括号括起来代表需要替换的字符:

如图中的{{hello}}

而在views视图文件中的context字典则代表了上下文需要替换的文字和字符串,即context字典元素中的键值即末班中需要替换的变量。即context 字典中元素的键值 "hello" 对应了模板中的变量 "{{ hello }}"。

这样通过render函数我们就完成了使用模板来输出数据,从而实现数据与视图分离。

四.调用redirect 函数重定向

redirect:英文意思改变线路,改变方向,在我们这里是重定向的意思。

参数可以是:

一个模型:将调用模型的get_absolute_url() 函数

一个视图,可以带有参数:将使用urlresolvers.reverse 来反向解析名称

一个绝对的或相对的URL,将原封不动的作为重定向的位置,即返回一个模板位置。

默认返回一个临时的重定向;传递permanent=True 可以返回一个永久的重定向。

示例:

你可以用多种方式使用redirect() 函数。

传递一个对象:

将调用get_absolute_url() 方法来获取重定向的URL:

from django.shortcuts import redirect

def my_view(request):

...

object = MyModel.objects.get(...)

return redirect(object)

传递一个视图的名称:

可以带有位置参数和关键字参数;将使用reverse() 方法反向解析URL: 

def my_view(request):

...

return redirect('some-view-name', foo='bar')

传递要重定向的一个硬编码的URL

def my_view(request):

...

return redirect('/some/url/')

也可以是一个完整的URL,可以是返回外部的网站,这里测试返回百度网站:

from django.shortcuts import render,redirect

def blog(request):

return redirect("http://www.baidu.com")

def my_view(request):

...

return redirect('http://example.com/')

默认情况下,redirect() 返回一个临时重定向。以上所有的形式都接收一个permanent 参数;如果设置为True,将返回一个永久的重定向:

def my_view(request):

...

object = MyModel.objects.get(...)

return redirect(object, permanent=True)  

django views视图函数的更多相关文章

  1. django views视图函数返回值 return redirect httpresponse总结

    django views视图函数返回值 return redirect  render httpresponse总结

  2. Django之views视图函数

    views视图函数属于MTV中逻辑处理的部分视图函数包含着两个对象,HttpRequest对象和HttpResponse对象 一.HttpRequest对象 HttpRequest对象在Django中 ...

  3. python web框架篇:views视图函数

    Django请求的生命周期是怎样的? 简单地说,通过URL对应关系匹配 ->找到对应的函数(或者类)->返回字符串(或者读取Html之后返回渲染的字符串) 解剖起来如下: 1. 当用户在浏 ...

  4. Django之视图函数总结

    Django之视图函数总结 HttpRequest与HttpResponse http请求中产生两个核心对象: HttpRequest对象:用户请求相关的所有信息(对象) HttpResponse对象 ...

  5. Django 定义视图函数

    Django 定义视图函数 一.接收内容及文件处理 1.接收分类 # 获取数据 request.GET # 提交数据 request.POST # 获取文件 request.FILES 2.check ...

  6. 03 Django之视图函数

    一.Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python函数(类),它接受WEB请求并返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...

  7. 简单的django登录项目---带views视图函数(脚本文件)---用Bootstrap

    简单的django登录项目 1.首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html 2.在Firstdjango工程项目 ...

  8. django的视图函数

    一.视图函数view 视图函数是接收一个请求(request对象),并返回响应的函数 1. HttpResponse响应请求 这个方法是返回字符串一类的,可以识别标签 2. render响应请求 re ...

  9. Django restframe 视图函数以及ModelSerializer的使用

    建立model数据库 from django.db import models __all__ = ['Book', 'Publisher', 'Author'] # Create your mode ...

随机推荐

  1. 【转载】Unix设计哲学 & 回车换行八卦 & EOF八卦 & UNIX目录结构八卦

    昨天看了这篇文章 <关于Unix哲学> 首先用了两个例子,用风扇吹出空肥皂盒 和 太空铅笔,来说明简单设计也能派上作用吧. Unix哲学,Wikipedia上列出了好几个版本,不同的人有不 ...

  2. POJ2752 Seek the Name, Seek the Fame 【KMP】

    Seek the Name, Seek the Fame Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 11602   Ac ...

  3. 选带傅里叶变换(zoom-fft)

    选带傅里叶变换的原理大家能够看书.大致的步骤为 移频 (将选带的中心频率移动到零频) 数字低通滤波器  (防止频率混叠) 又一次採样  (将採样的数据再次间隔採样,间隔的数据取决于分析的带宽,就是放大 ...

  4. Android手机中UID、PID作用及区别

    PID 指进程ID. PID是进程的身份标识,程序一旦运行,就会给应用分配一个独一无二的PID(ps:一个应用可能包含多个进程,每个进程有唯一的一个PID) 进程终止后PID会被系统收回,再次打开应用 ...

  5. update语句执行卡死现象原因及解决方案

    https://blog.csdn.net/wpz0713/article/details/51499654 原因分析: 可能在PLSQL Developer执行update时没有commit,ora ...

  6. soapUI系列之—-05 JDBC Request & Xpath Match

    一.配置JDBC Connection String 1. 以Oracle为例,要使用JDBC数据库就要先下一个 oracle JDBC的驱动,下载成功后把它放到soapUI安装目录下的  bin/e ...

  7. Cts框架解析(6)-任务的运行

    前两篇讲了任务的加入和9大项配置,这篇讲任务的运行. 任务的运行 任务的运行在CommandScheduler的run方法中,所以删除全部的断点,在run方法中打上断点,重新启动启动debug: 先看 ...

  8. python 深浅复制与指针内存

    Python是一门非常好的语言,他的长处在于拥有巨大灵活性的同一时候也拥有无比的严谨性,其它语言规定了非常多语法.告诉你什么情况下,语法就是这种,而Python却用非常少的规定,延伸出非常多语法,有些 ...

  9. WWDC笔记:2013 Session 203 What’s New in Cocoa Touch(未完)

    Multitasking Background fetching New background mode fetch - (void)application:(UIApplication *)appl ...

  10. 聚合类新闻client初体验

    初体验的产品:今日头条(ios3.6).百度新闻(ios4.4.0).ZAKER(ios4.4.5).鲜果(ios3.8.7).中搜搜悦(ios4.0.1).Flipboard(ios2.3.9) 1 ...