zoukankan      html  css  js  c++  java
  • django 视图装饰器

    视图装饰器:
    
    Django 为视图提供了数个装饰器,用以支持相关的HTTP服务 
    
    
    允许的方法:
    
    url(r'^test004/$', views.my_view),
      
      
    from django.views.decorators.http import require_http_methods
    
    @require_http_methods(["GET", "POST"])
    def my_view(request):
        print "call my_view" 
    	
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    import urllib2
    import urllib
    import cookielib
    import json
    import httplib
    import re
    import requests
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    import urllib2
    import urllib
    import cookielib
    import json
    import httplib
    import re
    import requests
    s=requests.session()
    headers = {'Content-Type': 'application/json'}  ## headers中添加上content-type这个参数,指定为json格式
    print headers
    response = s.get('http://192.168.137.3:8000/polls/test004/',  headers=headers)
    print response
    print response.content
    
    
    call my_view
    <WSGIRequest: GET '/polls/test004/'>
    [20/Aug/2018 17:09:53] "GET /polls/test004/ HTTP/1.1" 200 4
    
    
    换成post呢?
    
    Forbidden (CSRF cookie not set.): /polls/test004/
    
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    import urllib2
    import urllib
    import cookielib
    import json
    import httplib
    import re
    import requests
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    import urllib2
    import urllib
    import cookielib
    import json
    import httplib
    import re
    import requests
    s=requests.session()
    headers = {'Content-Type': 'application/json'}  ## headers中添加上content-type这个参数,指定为json格式
    print headers
    datas={}
    response = s.post('http://192.168.137.3:8000/polls/test004/', data=datas ,headers=headers)
    print response
    print response.content
    
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/core/a26.py
    {'Content-Type': 'application/json'}
    <Response [200]>
    aaaa
    
    <WSGIRequest: POST '/polls/test004/'>
    [20/Aug/2018 17:13:53] "POST /polls/test004/ HTTP/1.1" 200 4
    
    
    
    
    
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    import urllib2
    import urllib
    import cookielib
    import json
    import httplib
    import re
    import requests
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    import urllib2
    import urllib
    import cookielib
    import json
    import httplib
    import re
    import requests
    s=requests.session()
    headers = {'Content-Type': 'application/json'}  ## headers中添加上content-type这个参数,指定为json格式
    print headers
    datas={}
    response = s.put('http://192.168.137.3:8000/polls/test004/', data=datas ,headers=headers)
    print response
    print response.content
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/core/a26.py
    {'Content-Type': 'application/json'}
    <Response [405]>
    
    
    Method Not Allowed (PUT): /polls/test004/
    [20/Aug/2018 17:14:33] "PUT /polls/test004/ HTTP/1.1" 405 0
    
    
    call my_view
    <WSGIRequest: PUT '/polls/test004/'>
    [20/Aug/2018 17:17:09] "PUT /polls/test004/ HTTP/1.1" 200 4
  • 相关阅读:
    python note 19 异常处理
    python note 18 序列化模块
    python note 17 random、time、sys、os模块
    python note 16 re模块的使用
    python note 15 正则表达式
    python note 13 内置函数
    python note 12 生成器、推导式
    C++ int型负数除法取余问题
    Leetcode162. 寻找峰值
    Leetcode450. 删除二叉搜索树中的节点
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349081.html
Copyright © 2011-2022 走看看