博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django的视图系统
阅读量:5748 次
发布时间:2019-06-18

本文共 1658 字,大约阅读时间需要 5 分钟。

视图(views)概述

在前几篇文章中介绍了,client端通过http请求——去url的路由找到相应的视图函数——触发视图函数——再去modes取数据——取到数据后——再通过创建模——views函数把相响应对象——返回给client最终显示的内容

视图文件(views.py)在app目录下才有

看看新建项目默认的views.py文件的内容

from django.shortcuts import render# Create your views here.

  

通过相应的url请求来写不同请求的视图函数

视图函数的编写

 

from django.shortcuts import render# Create your views here.def index(request):    return render(request,'index.html')

  

视图要结和url路由,models,模板文件一起来用,这里只简单介绍

视图函数的参数

第一个参数

视图函数的参数必须是url的请求对象一般写为request

后面及其他的参数

是url路由的分组信息,一个参数表示一个分组,两个参数表示两个分组

 无名分组

URL   urls.py 文件的内容   (无名分组)from django.conf.urls import urlfrom django.contrib import adminfrom app01 import viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^index/(\d+)/(\d+)/$',views.index),]

  

多了 (\d+), 正则表达式中 \d 代表一个数字,+ 代表一个或多个前面的字符,写在一起 \d+ 就是一个或多个数字,用括号括起来的意思是保存为一个子组(更多知识请参见 Python 正则表达式),每一个分组将作为一个参数,被 views.py 中的对应视图函数接收

 用内置的Httpresponce做相应测试

from django.shortcuts import render,HttpResponse# Create your views here.def index(request,x,y):    z = x+y    return HttpResponse(str(z))

  

 

启动django

django manage.py  runserver  8080

  

 

client访问

 

提示:request接收的对象都是字符串

 

 

有名分组

每一个分组的分组名将作为一个参数,被 views.py 中的对应视图函数参数接收

这里就不写了

 

request对象

常用属性

path:       请求页面的全路径,不包括域名method:     请求中使用的HTTP方法的字符串表示。全大写表示。GET:         包含所有HTTP GET参数的类字典对象POST:       包含所有HTTP POST参数的类字典对象

  

response对象

对于HttpRequest对象来说,是由django自动创建的,但是,HttpResponse对象就必须我们自己创建。

每个view请求处理方法必须返回一个HttpResponse对象

HttpResponse类在django.http.HttpResponse

在HttpResponse对象上扩展的常用方法:

render()       #页面渲染,推荐   (很少用HttpResponse)redirect("路径")    例如登录跳转locals():    可以直接将函数中所有的变量传给模板

  

具体详细使用要结合url和models和模板文件。。。。。。

 

转载于:https://www.cnblogs.com/keme/p/6498082.html

你可能感兴趣的文章
centos7安装mysql视频教程_centos7安装mysql(完整)
查看>>
php图片赋值,php如何优雅地赋值
查看>>
【探索HTML5第二弹01】HTML5的前世今生以及来世
查看>>
Failed to connect to remote VM. Connection refused. Connection refused: connect
查看>>
freeze
查看>>
JS时间转时间戳,时间戳转时间。时间显示模式。
查看>>
SAP HANA存储过程结果视图调用
查看>>
设计模式 ( 十八 ):State状态模式 -- 行为型
查看>>
OracleLinux安装说明
查看>>
nova分析(7)—— nova-scheduler
查看>>
Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
查看>>
OpenMediaVault 搭建git,ssh无法连接问题
查看>>
java多线程之:Java中的ReentrantLock和synchronized两种锁定机制的对比 (转载)
查看>>
【Web动画】SVG 实现复杂线条动画
查看>>
使用Wireshark捕捉USB通信数据
查看>>
《树莓派渗透测试实战》——1.1 购买树莓派
查看>>
Apache Storm 官方文档 —— FAQ
查看>>
iOS 高性能异构滚动视图构建方案 —— LazyScrollView
查看>>
Java 重载、重写、构造函数详解
查看>>
【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏
查看>>