• 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
  • 相关阅读:
    matlab之simulink仿真入门
    20160205.CCPP体系具体解释(0015天)
    logistic回归具体解释(二):损失函数(cost function)具体解释
    Java 垃圾回收之垃圾回收算法
    synchronized
    如何中断线程
    yield函数
    Linux
    notify和notifyAll的区别
    Sleep和Wait的区别
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349081.html
Copyright © 2020-2023  润新知