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设计】。

相关文章

Python编程实现及时获取新邮件的方法示例

本文实例讲述了Python编程实现及时获取新邮件的方法。分享给大家供大家参考,具体如下: #-*- encoding: utf-8 -*- import sys import loc...

win7安装python生成随机数代码分享

复制代码 代码如下:import random def genrand(small, big) :    return small + (big-small...

详解Python中expandtabs()方法的使用

 expandtabs()方法返回制表符,即该字符串的一个副本。 '\t'已经使用的空间,可选择使用给定的tabsize(默认8)扩展。 语法 以下是expandtabs()方...

Python中使用logging模块打印log日志详解

学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓“只要log打的好,没有bug解不了”,在我们熟...

python利用itertools生成密码字典并多线程撞库破解rar密码

脚本功能: 利用itertools生成密码字典(迭代器形式) 多线程并发从密码字典中取出密码进行验证 验证成功后把密码写入文件中保存 #!/usr/bin/env...