一、Python Django 之 Views 数据交互

http请求中产生两个人核心对象:

http请求:HttpRequest对象

http响应:HttpReponse对象

所在位置django.http

之前我们用到的参数request就是HttpRequest 检测方法

二、HttpRequest对象

1、

2、

3、

三、HttpReponse对象

1、HttpReponse返回数据

return HttpResponse("<h1>ok</h1>")

2、render渲染

return render(req,"index.html",{"user_list":user_list})

注意:render渲染比HttpResponse复杂,完成同样的工作render只需要一步,HttpResponse却需要

Trmplate与Context等步骤。

3、render_to_response渲染

1)views

n="hope"

return render_to_response("index.html",{"name":n})

2)templates

<html>

<head>

</head>

<body>

<h1>{{ name }}</h1>

</body>

</html>

1)好处

使用render_to_response比render简便,省去了req参数

n="hope"

return render_to_response("index.html",{"name":n})

2)坏处

建议使用return,不用render_to_response

4、redirect重定向

return redirect(“www.baidu.com”)

注意:

--1 url: 原本urlpatterns按照模板使用的{},但是在return redirect("/home/")时,总是报错 'set' object is not reversible,

后来,将{}的集合写法换成[]列表写法则不再报错,return redirect("/home/")生效。

1)url

urlpatterns = [
path('admin/', admin.site.urls),
path('cur_time/', views.cur_time),
path('hello/',views.hello),
path('login/', views.login),
path('home/', views.home)] # urlpatterns = {
# path('admin/', admin.site.urls),
# path('cur_time/', views.cur_time),
# # path('userInfo/',views.userInfo),
# # path('login/', views.login),
# # path('home/', views.home),
# path('hello/',views.hello),
# }

2)views

from django.shortcuts import render,HttpResponse,render_to_response,redirect
import datetime
from blog import models def login(req):
if req.method == "POST":
if 1:
return redirect("/home/")
return render(req,"login.html") def home(req):
name="xihaohu"
return render(req,"home.html",{"name":name})

3)templates

--1 login

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="/login/" method="post">
<input type="text" name="username">
<input type="text" name="pwd">
<input type="submit" name="submit">
</form>
</body>
</html>

--2 home

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<h1>welcom {{ name }}</h1>
</body>
</html>

Python Django 之 Views HttpRequest HttpReponse的更多相关文章

  1. python :Django url /views /Template 文件介绍

    1,Django URL 路由系统 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django ...

  2. Django之views系统

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

  3. [python] python django web 开发 —— 15分钟送到会用(只能送你到这了)

    1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py   1. ...

  4. Python Django(WEB电商项目构建)

    (坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...

  5. 七、Django之Views

    一.概述 视图就是python中的函数,我们通常也称为:视图函数. 视图一般被定义在“app/views.py”中. 视图负责接受Web请求(HttpRequest)URL,进行逻辑处理,并返回Web ...

  6. Django之views.py视图函数学习

    视图函数: 视图函数时存在django项目中的应用程的一个名为views.py的文件模块: 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 一 ...

  7. python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

    python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...

  8. python Django教程 之 安装、基本命令、视图与网站

    python  Django教程  之 安装.基本命令.视图与网站 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 w ...

  9. python django 多级业务树形结构规划及页面渲染

    概述: 在项目中,父级到子级结构并不少见,如果仅仅的两层树形结构,我们可以使用数据库的外键设计轻松做到,子级业务表设计一字段外键到父级业务表,这样子到父.父到子的查询都非常简单. 但是往往父子结构会有 ...

随机推荐

  1. How can I list all foreign keys referencing a given table in SQL Server?

    How can I list all foreign keys referencing a given table in SQL Server?  how to check if columns in ...

  2. HDU 3046 Pleasant sheep and big wolf(最小割最大流+Dinic)

    http://acm.hdu.edu.cn/showproblem.php?pid=3046 题意: 给出矩阵地图和羊和狼的位置,求至少需要建多少栅栏,使得狼不能到达羊. 思路:狼和羊不能到达,最小割 ...

  3. UVa 1630 串折叠

    https://vjudge.net/problem/UVA-1630 题意: 给出一个由大写字母组成的长度为n的串,折叠成一个尽量短的串.例如:AAAAAAAAABABABCCD折叠成9(A)3(A ...

  4. 【Django】【五】开发Web接口

    [HTTP协议与JSON] 1. HTTP协议 特点如下: (1)支持客户/服务器模式. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GET.POST.每种方法规定了客户 ...

  5. hdu 5668 Circle 中国剩余定理

    Circle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem D ...

  6. 【转】VC6在Win7下打开文件崩溃问题

    http://www.cnblogs.com/Leon5/archive/2011/08/24/2152670.html 1.微软针对这个问题发布了一个补丁包.下载地址 2.下载之后是一个源码包,解压 ...

  7. 《剑指offer》第十八题(在O(1)时间删除链表结点)

    // 面试题18(一):在O(1)时间删除链表结点 // 题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该 // 结点. #include <iostream> ...

  8. URAL 1635 Mnemonics and Palindromes

    URAL 1635 思路:区间dp+贪心,先n^2处理出每段区间是否是回文串,然后贪心地找每一段1到i的最少分割. 代码: #include<bits/stdc++.h> using na ...

  9. IIS8.5支持WCF

    昨天写了个WCF例子,在我电脑上怎么发布都不成功,老是报错. 后来把这个例子放到其他人电脑上发布都没问题,这应该就是我IIS的问题了.我用的是win8.1的系统,IIS版本是8.5,IIS8.5默认是 ...

  10. ubuntu , 安装包的具体文件的查看方法

    To see all the files the package installed onto your system, do this: dpkg-query -L <package_name ...