视图装饰器:
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