Django中的request.GET和request.POST

从post中取得数据,如果不存在则默认值为1
pageNumber = request.POST.get(‘pageNumber’,1) 

从get中取得数据,如果不存在则默认值为1 
pageNumber = request.GET.get(‘pageNumber’,1) 

从所有请求中取得数据,如果不存在则默认值为1 
pageNumber = request.REQUEST.get(‘pageNumber’,1) 

判断一个请求是post还是get方式
if request.method == ‘GET’: 

如果是用 request.POST[“name”] 来获取数据的话,没有相关的数据的时候会报错。

django跨域调用后台接口

1.安装django-cors-headers

pip install django-cors-headers

2.配置settings.py文件

INSTALLED_APPS = [
    ...
    'corsheaders',
    ...
]

MIDDLEWARE_CLASSES = (
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware', # 注意顺序
    ...
)
#跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
    '*'
)

CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
    'VIEW',
)

CORS_ALLOW_HEADERS = (
    'XMLHttpRequest',
    'X_FILENAME',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
    'Pragma',
)

3.视图文件 views.py 中编写以下代码

# -*- coding: utf-8 -*-
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def test_api(request):
    return JsonResponse({"result": 0, "msg": "执行成功"})