多语言展示
当前在线:1436今日阅读:176今日分享:34

Django获取http请求体内容

Django获取http请求体内容
方法/步骤
1

登录CentOS7系统,打开终端进入python虚拟环境,创建Django工程djbody,在工程中创建app,命令如下: workon djandotestdjango-admin startproject djbodycd djbody/python manage.py startapp book tree

2

打开工程的settings.py文件,将本机ip添加allowed_hosts,添加app到installed_apps,注释掉中间件'django.middleware.csrf.CsrfViewMiddleware',cd djbodyvi settings.py修改后部分setting.py文件如下:ALLOWED_HOSTS = ['192.168.128.25']# Application definitionINSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'book.apps.BookConfig',]MIDDLEWARE = [    'django.middleware.security.SecurityMiddleware',    'django.contrib.sessions.middleware.SessionMiddleware',    'django.middleware.common.CommonMiddleware',#    'django.middleware.csrf.CsrfViewMiddleware',    'django.contrib.auth.middleware.AuthenticationMiddleware',    'django.contrib.messages.middleware.MessageMiddleware',    'django.middleware.clickjacking.XFrameOptionsMiddleware',]

3

在工程的urls.py添加到app的路由vi urls.pyurls.py文件如下:from django.conf.urls import url,includefrom django.contrib import adminurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^book/', include('book.urls')),]

4

在app的创建urls.py文件,定义到视图函数index的路由cd ../bookvi urls.pyurls.py文件如下:from django.conf.urls import urlfrom . import viewsurlpatterns = [    url(r'^index/', views.index),]

5

在app的views.py文件,定义视图函数index,获取http请求体的内容,这里请求体是json字符串vi views.pyviews.py文件如下:from django.shortcuts import renderfrom django.http import JsonResponseimport json# Create your views here.def index(request):    jsonstr = request.body    data = json.loads(jsonstr)    print (data['var1'])    print (data['var2'])    return JsonResponse({'msg':'recieved msg '})这里使用JsonResponse返回数据也是json字符串格式

6

运行django服务器cd ..python manage.py runserver 192.168.128.25:8000

7

在局域网任意一台电脑使用POSTMAN发送POST请求,请求体是json格式,具体如下图,注意json字符串里的字符串一定是双引号,点击Send发送,收到返回的json字符串

8

在控制台打印出发送的json内容的value值helloworld成功获取到json数据了

推荐信息