(7)视图层参数request详解

PS:浏览器页面请求的都是get请求

PS:post请求是通过form表单,阿贾克斯发

request里面的常用方法

def index(request):
  print(request.META)   #请求对象的所有内容都包含在了这个META里面,包括访问的地址等等信息
    #request就是一个对象,请求对象,请求的所有东西都被封装到requres里    print(request.method)  #请求方式分get和post,如果是get请求,则method打印出来的是get,同理post    print(request.path)  #请求的地址    print(request.get_full_path())  #请求的全路径    print(request.GET)  #请求get形式传的参数,全都在这里,以字典形式    print(request.body)  #请求体的内容    print(request.POST)  #以post请求的参数全在这里    return render(request,‘index.html‘)

request参数实例

urls.py  #这个是总路由

from django.conf.urls import url,include  #include就是用来做路由分发的from django.contrib import admin

from app01 import viewsurlpatterns = [    url(r‘^admin/‘, admin.site.urls),    url(r‘index/‘,views.index)]

index.html   #模板层内

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>我是首页</title></head><body>    <h1>django的index页面</h1>    {# action:请求的地址  /  post:请求的方式 #}    {# action里的地址可以写全路径,也可以只写一个地址名字index,不写也可以就默认当前路径   #}    <form action="http://127.0.0.1:8000/index/" method="post">        <p>            名字:<input type="text" name="name">        </p>        <p>            密码:<input type="password" name="pwd">        </p>        <input type="submit" value="提交">    </form></body></html>

views.py   #这个是app的视图层

from django.shortcuts import render,HttpResponse,redirect,reverse

def test(request):    return HttpResponse(‘我是app01的test‘)

def index(request):    print(request.method)      print(request.path)      print(request.get_full_path())      print(request.GET)      print(request.body)      print(request.POST)     return render(request,‘index.html‘)

点击提交出现

注释掉settings里面的

简单的登陆功能实例

views.py   #app下的视图层

from django.shortcuts import render,HttpResponse,redirect,reverse

def test(request):    return HttpResponse(‘我是app01的test‘)

def login(request):    if request.method == ‘GET‘:        return render(request,‘login.html‘)    elif request.method == ‘POST‘:        print(request.POST)        name = request.POST.get(‘name‘)  #name = request.POST[name] 也可以这样取值,但是当无值的时候会报错        pwd = request.POST.get(‘pwd‘)        print(name)        print(pwd)        if name == ‘lqz‘ and pwd == ‘123‘:            return redirect(‘http://www.baidu.com‘)        else:            return HttpResponse(‘用户名或密码错误‘)

login.html   #模板层的页面文件

<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>登陆页面</title></head><body>    <form action="http://127.0.0.1:8000/login/" method="post">        <p>            名字:<input type="text" name="name">        </p>        <p>            密码:<input type="password" name="pwd">        </p>        <input type="submit" value="提交">    </form></body></html>

urls.py

from django.conf.urls import url,include  #include就是用来做路由分发的from django.contrib import admin

from app01 import viewsurlpatterns = [    url(r‘^admin/‘, admin.site.urls),    url(r‘login/‘,views.login)]

原文地址:https://www.cnblogs.com/shizhengquan/p/10489111.html

时间: 2024-10-15 19:18:09

(7)视图层参数request详解的相关文章

视图鼻祖之UIView详解

视图鼻祖之UIView详解 引言 UIView表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为iOS中几乎所有可视化控件都是UIView的子类.负责渲染区域的内容,并且响应该区域内发生的触摸事件 目录 1.UIView家族 2.UIView的基本属性 3.几何方法类 4.控制级别类 5.渲染类 6.动画类 7.手势类 8.移动效果类 9.基于布局约束类(iOS6.0) 10.基于布局的约束core方法(iOS 6.0) 11.基于约束的兼容性(iOS 6.0) 12.层次布局的约束

response和request详解

JavaEE:response响应和request请求 Web服务器接收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象既然代表请求和响应,那么我们要获取客户机提交过来的数据,只需要找request对象,就行了.要向客户机输出数据,只需要找response对象就行了. HttpServletRequest封装客户端相关信息,服务器Servlet程序可以通过request对象操作客户端信

nginx一些参数配置详解

nginx的配置:    正常运行的必备配置:       1.user username [groupname];           指定运行worker进程的用户和组       2.pid /path/to/pidfile_name nginx的pid文件 3.worker_rlimit_nofile #;            一个worker进程所能够打开的最大文件句柄数:       4.worker_rlimit_sigpending #;            设定每个用户能够

linux串口编程参数配置详解

1.linux串口编程需要的头文件 #include <stdio.h>         //标准输入输出定义 #include <stdlib.h>        //标准函数库定义 #include <unistd.h>       //Unix标准函数定义 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>          //文件控制定义 #incl

Linux rpm 命令参数使用详解[介绍和应用]

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合: -ivh:安装显示安装进度--install--verbose--hash -Uvh:升级软件包--Update: -qpl:列出RPM软件包内的文件信息[Q

java虚拟机启动参数分类详解

官方文档见: http://docs.sun.com/source/819-0084/pt_tuningjava.html java启动参数共分为三类:其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容:其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用: 一.标准参数中比较有用的: verbose -verbo

Scala 深入浅出实战经典 第60讲:Scala中隐式参数实战详解以及在Spark中的应用源码解析

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/IVN4EuFlmKk/优酷:http://v.youku.com/v_show/id_

网络协议概述:物理层、连接层、网络层、传输层、应用层详解(转载)

这篇文章主要介绍了网络协议概述:物理层.连接层.网络层.传输层.应用层详解,本文用生活中的邮差与邮局来帮助理解复杂的网络协议,通俗易懂,文风幽默,是少见的好文章,需要的朋友可以参考下 信号的传输总要符合一定的协议(protocol).比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号.这样一个“狼烟=敌人入侵”就是一个简单的协议.协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来代表不同的英文字母.比如SOS(***---*

java newInstance() 的参数版本与无参数版本详解

newInstance() 的参数版本与无参数版本详解 博客分类: Core Java 通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.newInstance() 以下对两种调用方式给以比较说明: Class.newInstance() 只能够调用无参的构造函数,即默认的构造函数: Constructor.newInstance() 可以根据传入的参数,调用任意构造构造函数. Class.newInstance() 抛出所有由被调用构造函数抛