(8)视图层参数request详解
PS:浏览器页面请求的都是get请求
PS:post请求是通过form表单,ajax请求
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')
PS:当requests.POST的时候发送数据使用data封装的,取值的时候直接用post取值即可,如果发送数据时候是用json封装的,则取值的时候必须在body中取值
request参数实例
urls.py #这个是总路由
from django.conf.urls import url,include #include就是用来做路由分发的
from django.contrib import admin from app01 import views
urlpatterns = [
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 views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'login/',views.login)
]
(8)视图层参数request详解的更多相关文章
- iOS 视图控制器转场详解
iOS 视图控制器转场详解 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标有了大幅度的增长,多谢唐巧前辈的推荐.有些人问我相关的问题 ...
- Scala 深入浅出实战经典 第62讲:Scala中上下文界定内幕中的隐式参数实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第60讲:Scala中隐式参数实战详解以及在Spark中的应用源码解析
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Oracle GoldenGate中HANDLECOLLISIONS参数使用详解
Oracle GoldenGate中HANDLECOLLISIONS参数使用详解 HANDLECOLLISIONS 是一个 replicat 进程参数,主要在 initial load 中使用.在 ...
- 机器学习——随机森林,RandomForestClassifier参数含义详解
1.随机森林模型 clf = RandomForestClassifier(n_estimators=200, criterion='entropy', max_depth=4) rf_clf = c ...
- DAX/PowerBI系列 - 查询参数用法详解(Query Parameter)
PowerBI - 查询参数用法详解(Query Parameter) 很多人都不知道查询参数用来干啥,下面总结一下日常项目中常用的几个查询参数的地方.(本人不太欢hardcode的东西) 使用查询 ...
- MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解
MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Mycat介绍 1>.什么是Mycat Mycat背后是 ...
- java newInstance() 的参数版本与无参数版本详解
newInstance() 的参数版本与无参数版本详解 博客分类: Core Java 通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.new ...
- [转帖]技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解
技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解 http://www.52im.net/thread-1309-1-1.html 本文来自腾讯资深研发工程师罗成的技术分享, ...
随机推荐
- mysql sql_mode=only_full_group_by问题?
视图查询的时候本地数据库报错: 解决办法: 1.查看sql_mode select @@global.sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_Z ...
- react router @4 和 vue路由 详解(六)vue怎么通过路由传参?
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 8.vue怎么通过路由传参? a.通配符传参数 //在定义路由的时候 { path: ' ...
- Entrust - Laravel 用户权限系统解决方案
Zizaco/Entrust 是 Laravel 下 用户权限系统 的解决方案, 配合 用户身份认证 扩展包 Zizaco/confide 使用, 可以快速搭建出一套具备高扩展性的用户系统. Conf ...
- angular 我看过的技术书籍
13年我在悠唐网络做前端开发时,当时仿豌豆荚一个sdk 发布应用界面的时候,看到代码用到奇怪的ng-,当时查了下是用angular,从那时开始慢慢接触angular,之后进入逸橙官网组使用angula ...
- TOleControl(WebBrowser1).Visible := False 这样就可以隐藏浏览器控件
TOleControl(WebBrowser1).Visible := False 这样就可以隐藏浏览器控件了. ------------------------------------------- ...
- :状态模式:GumballMachine
#ifndef __STATE_H__ #define __STATE_H__ #include <iostream> #include<stdlib.h> using nam ...
- jQuery $.each()常见的几种使用方法
<code class="language-html"><!doctype html> <html> <head> <meta ...
- Async注解的使用,异步进行代码解耦
在开发中进行代码性能的优化方式有很多种,如下单后,要发送消息推送给用户,此时可以使用消息中间件rabbitMq,或者使用异步的方式进行解耦 异步和同步的区别:比如做家务有:做饭,洗衣服,扫地,对于同步 ...
- 循环神经网络-Dropout
dropout 是 regularization 方法,在rnn中使用方法不同于cnn 对于rnn的部分不进行dropout,也就是说从t-1时候的状态传递到t时刻进行计算时,这个中间不进行memor ...
- nginx——防盗链功能
我们经常会看到在浏览某一图片时会弹出一“403权限禁止”错误,这说明有可能正在浏览的这个网站用到的图片在盗用别的网站图片,而被盗用的网站采用了防盗链技术.那么怎样才能不让自己的网站受害呢? 下面我来介 ...