django开发post接口简单案例,获取参数值的方法

yipeiwu_com6年前Python基础

项目环境:python3.6,django2.1

接口功能: 将传入参数a和b字符串相加,返回结果

1.新建一个django项目

# 新建一个名为Post的项目
django-admin startproject Post

django开发post接口,获取参数值

2.在django-test/Post/Post 文件夹下 创建一个view.py文件

django开发post接口,获取参数值

3.在view.py文件中写入代码

from django.http import HttpResponse
import json
 
 
# 定义功能
def add_args(a, b):
 return a+b
 
# 接口函数
def post(request):
 if request.method == 'POST': # 当提交表单时
  dic={}
  # 判断是否传参
  if request.POST:
   a= request.POST.get('a', 0)
   b = request.POST.get('b', 0)
   # 判断参数中是否含有a和b
   if a and b:
    res = add_args(a, b)
    dic['number'] = res
    dic = json.dumps(dic)
    return HttpResponse(dic)
   else:
    return HttpResponse('输入错误')
  else:
   return HttpResponse('输入为空')
 
 else:
  return HttpResponse('方法错误')

4.打开项目中的urls.py文件,配置路由,即访问地址

from django.contrib import admin
from django.urls import path
 
from . import view
 
urlpatterns = [
 path('admin/', admin.site.urls),
 path('hello/',view.post),
]

并且在setting.py文件中注释掉这一行

django开发post接口,获取参数值

5.启动项目

django开发post接口,获取参数值

# 启动项目命令,默认是8000端口,这里使用8001防止端口冲突
python manage.py runserver 0.0.0.0:8001

下面表示项目已经成功启动

django开发post接口,获取参数值

6.测试接口是否可以调用(用postman工具测试也可以)

新建一个py文件,内容如下:

import requests
 
res = requests.post('http://127.0.0.1:8001/hello/', data={'a':3, 'b':4})
print(res.text)

运行结果:

django开发post接口,获取参数值

成功!

以上这篇django开发post接口简单案例,获取参数值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

关于numpy.where()函数 返回值的解释

近日用到numpy.where()函数,大部分使用方式都能理解,但是在看 >>> x = np.arange(9.).reshape(3, 3) >>&...

对Python的zip函数妙用,旋转矩阵详解

Python的zip函数 示例1: x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print xy...

Tensorflow之构建自己的图片数据集TFrecords的方法

学习谷歌的深度学习终于有点眉目了,给大家分享我的Tensorflow学习历程。 tensorflow的官方中文文档比较生涩,数据集一直采用的MNIST二进制数据集。并没有过多讲述怎么构建...

基于Python解密仿射密码

基于Python解密仿射密码

新学期有一门密码学课,课上老师布置了一道密码学题,题目如下: 解密由仿射密码加密的密文“DBUHU SPANO SMPUS STMIU SBAKN OSMPU SS” 想解密这个密文,首...

解决python写入带有中文的字符到文件错误的问题

在python写脚本过程中需要将带有中文的字符串内容写入文件,出现了报错的现象。 ---------------------------- UnicodeEncodeError: 'as...