限制请求method

什么是method

1.通常客户端请求服务器获取资源为GET方式

2.客户端提交数据给服务器端数据为POST方式

method限制请求

如果要限制请求,比如客户端只允许用GET方式访问网站,其他的方式统统不允许,那么就可以如下:

require_http_methods()中可以传入访问方式,只可以用列表当中的访问方式访问,初次之外的方式都不允许访问;(require_GET,require_POST)也可以实现

from django.shortcuts import render,HttpResponse
from django.views.decorators.http import require_http_methods,require_GET,require_POST # @require_http_methods(['POST'])
@require_GET
def index(request):
return HttpResponse('ok')

重定向

重定向分为永久性重定向和临时性重定向,在页面上做一个访问的操作会调转到另一个网址

  • 永久性重定向:http的状态码为301,多用于旧网址被废弃了要转到一个新的网址确保用户访问,最经典的就是京东网站,你输入www.jingdong.com,但是会跳转到www.jd.com这个网址,这种叫做永久性重定向
  • 临时性重定向:http的状态码为302,表示页面的暂时性跳转,比如访问一个需要权限的网址,如果用户没有登录,那么应该重定向到登录页面,这种情况叫做临时性重定向,比如:www.zhihu.com

在django中,重定向使用reverse(to,*args,permanent=False,**kwargs)来实现的,to是一个url,permanent代表的是这个重定向是否是一个永久性重定向,默认是False,关于重定向的例子如下(临时性重定向):

from django.shortcuts import render,HttpResponse,reverse,redirect
from django.views.decorators.http import require_http_methods,require_GET,require_POST require_http_methods(['POST','GET'])
def index(request):
username = request.GET.get('username')
print(username)
if username:
return HttpResponse('首页')
else:
return redirect(reverse('register')) def register(request):
return HttpResponse('注册页')

request对象常用方法

  1. is_secure():是否采用https协议
  2. is_ajax():是否采用ajax发送的请求,原理就是判断请求头中是否存在:X-Requested-With:XHLHttpRequest
  3. get_host():服务器的域名。如果在访问的时候还有端口,那么会加上端口号。比如:www.fengzi.com:8000
  4. get_full_path():返回完整的path。如果有查询字符串还会加上查询字符串,比如:/moive/bind/?username=fengzi
  5. get_raw_url():获取请求的完整url

django2.2(一)的更多相关文章

  1. django2.0+linux服务器 ,如何让自己电脑访问

    这几天一直在搞这个服务器端口开放问题,来让自己电脑可以访问服务器下的django网页,今天终于弄好了~~~~~离成功又进了一步~~~~~ 1.首先,我们来开放一个linux服务器的端口(我开放了828 ...

  2. Django2中文文档--目录及介绍部分

    Django2文档-文档结构 我是按照官方文档的格式进行翻译,所以格式根官方格式一致 如果大家发现哪些地方有问题可以联系我 2426525089@qq.com 或者加入QQ群跟我一起翻译,群号码: 2 ...

  3. Django2.0中文文档

    title: Django2.0中文文档 tags: Python,Django,入沐三分 grammar_cjkRuby: true --- Django2.0版本已经发布了,我们先来看一个图片 从 ...

  4. django2 快速安装指南

    django2 快速安装指南 1. 安装 作为一个 Python Web 框架,Django需要Python的支持.请参阅 我可以在Django中使用哪些Python版本?了解详情.Python包含一 ...

  5. 54.1 怎样才算学会django? 知道这28个知识点才算会django2

    学到什么程度才算会django了?这篇文章帮你梳理一下 关于django2的28个不可不知的知识点总结: 1.cookie操作: -客户端本地存储的键值对 2.session操作: -服务器端可以保存 ...

  6. python3下Django2.0配置最新xadmin详解

    1,打开pycharm,创建一个Django项目 2,安装Django,默认是最新版本,pip3 install -i https://pypi.douban.com/simple/ django 3 ...

  7. 【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  8. python3+django2 开发易语言网络验证(上)

    创作背景: 在某论坛中下载到一套php开发易语言网络验证的教程,照着看下来,花了两天的时间,结果发现教程里开发的网络验证,以及随着教程一起给学员的源码,都存在着根本用不了的bug!我想要看看能不能在原 ...

  9. python3+django2 开发易语言网络验证(中)

    第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin ...

  10. Django:Python3.6.2+Django2.0配置MySQL

    持续学习Django中... Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据 ...

随机推荐

  1. AOP的理解与实现

    AOP:面向切面编程,在不破坏原有代码的情况下,提供新的功能.可以使用AOP添加通用功能,比如事务.日志.权限.异常.缓存... 常见的AOP:MVC中的过滤器.HttpModule... 如何实现A ...

  2. generator(生成器)

    什么是generator函数: 在js中,一个函数一旦执行,就会运行到最后或者遇到return时结束,运行期间不会有其它代码能打断它,也不能从外部再传入值到函数体内. generator函数的出现就可 ...

  3. Oracle--缓冲区忙等待事件

    一,缓冲区等待事件 缓冲区忙等待是I/O-bound Oracle系统中比较常见的现象,特别是在Oracle STATSPACK报告的前五个忙等待的读(顺序/分散)系统中,如前5个定时事件: % 总和 ...

  4. nodejs的child_process

    child_process  模块提供了衍生子进程的能力 异步方式:spawn.exec.execFile.fork 同步方式:spawnSync.execSync.execFileSync 说明: ...

  5. W5500电路图

    W5500是韩国一款集成全硬件 TCP/IP 协议栈的嵌入式以太网控制器,W5500同时也是一颗工业级以太网控制芯片,最近发现我们国内也有和W5500 芯片一样芯片 介绍给大家 如下图:

  6. 我的周记9——"所以快乐才是真谛"

    七月又名:巧月.瓜月.霜月.相月.凉月.初商.肇秋.初秋.首秋.早秋.新秋.上秋.孟秋.夷则.申月等. 你好七月 ,想起大学的时候我在校园的点歌台点了一首歌,歌名是July . 七月一号,新的一月,新 ...

  7. Obloq模块:基于ESP8266的物联网模块

    OBLOQ 物联网模块 OBLOQ模块是DFRobot公司开发的一款基于ESP8266芯片的物联网通信模块.模块使用串口(TTL UART)和Arduino(或者其他单片机)通信,支持MQTT,HTT ...

  8. Web应急:网站首页被篡改

    网站首页被非法篡改,是的,就是你一打开网站就知道自己的网站出现了安全问题,网站程序存在严重的安全漏洞,攻击者通过上传脚本木马,从而对网站内容进行篡改.而这种篡改事件在某些场景下,会被无限放大. 现象描 ...

  9. 基于FlexBox的无约束自适应

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/11972664.html,多谢,=.=~ 一.背景描述   对于通用型带过滤条件的列表查询项目中, ...

  10. PIESDKDoNet二次开发配置注意事项

    在安装完PIESDK进行二次开发的过程中会遇到下面几种常见的开发配置问题,就写一个文档总结一下. 1.    新建项目无PIESDK模板问题 关于新建项目时候,找不到下图中的PIEMainApplic ...