• django2.2(一)


    限制请求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
  • 相关阅读:
    C#中char[]与string之间的转换
    Java文件操作之文件追加 Chars
    冒泡排序法的改进 Chars
    选择排序 Chars
    编译原理 Chars
    Apk反编译 Chars
    VC中常用的方法 Chars
    Node.Js入门级《培训》
    新概念系列之《Part2 Lesson 24 It could be worse》
    《CLR via C#》Part2之Chapter5 基元类型、引用类型和值类型(三)
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/10967804.html
Copyright © 2020-2023  润新知