python接口自动化3 如何开发get\post接口

3-1 开发接口环境搭建

1、搭建django环境  
      在线安装django环境:pip install django
      离线安装django环境:python setup.py install 
                                          离线安装需要先下载django的包,安装到具体目录,然后输入python setup.py install命令

2、创建django项目

3、启动django项目 

     命令:python manage.py  runserver 127.0.0.1:8000
     在cmd里,切换到django的文件目录,输入以上命令;也可以在pycharm里的Terminal里输入以上命令

 

3-2 django之接口工作原理
1、创建应用程序app
      两种方式:可以在pycharm里创建django项目时,添加app  路径:More Settings->Application name
                        还可以在doc里,切换到django项目,python manage.py startapp api(api是应用程序名,随便起)
2、添加应用程序
      setting->INSTALLED_APPS->'web', (web是应用程序的名字)

3、配置url路由
url->
from web.views import Login    (Login是view里定义的方法)
path('login/',Login)                  (login是url后面接的参数,比如:127.0.0.1:8000/login)
就是访问127.0.0.1:8000/login页面,需要调取view的Login方法来实现

4、在views里封装一个Login方法,由url路由来调用
from django.http.response import HttpResponse
def Login(request):
    return HttpResponse('This is a test')
访问127.0.0.1:8000/login页面,会显示This is a test

django工作原理:首先要把应用程序添加到setting里,然后打开登录页面,会先访问url路由里的配置,然后配置中的方法需要在view里进行定义

 

3-3 django之post接口开发
1、在templates里添加login.html文件,内容如下
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<form action="/login/" method="POST">
    <h1>用户名:<input name="username"></h1>
    <h1>密码:<input name="password"></h1>
    <input type="submit" value="登录">
</form>
</body>
</html>

2、在views里添加如下
from django.shortcuts import render  #render方法的作用就是将数据填充进模板文件,最后把结果返回给浏览器

def Login(request):  #如果请求方法是post,就返回用户名,否则返回login.html模板
    if request.method=='POST':
        username=request.POST.get('username')
        return HttpResponse(username)
    else:
        return render(request,'login.html')  #render方法可接收三个参数,一是request参数,二是待渲染的html模板文件,三是保存具体数据的字典参数

3、setting->MIDDLEWARE->禁掉django.middleware.csrf.CsrfViewMiddleware

3-4 django之get请求
get和post的区别,get请求在url地址栏里显示参数
所以,Login里把POST改成GET,同时在url后面加上username=test即可(test可以是任意内容)
1、修改Login方法,把POST改成GET
def Login(request):
    if request.method=='GET':   #POST改成GET
        username=request.GET.get('username')  #POST改成GET
        return HttpResponse(username)
    else:
        return render(request,'login.html')

2、访问http://127.0.0.1:8000/login/?username=test
页面显示test

 

3-5 django之接口数据处理 
1、login.html里面是POST方法
2、views里面,内容如下
from django.http.response import HttpResponse
from django.shortcuts import render
import json  #引入json包
def Login(request):
    if request.method=='POST':
        result={} #定义个字典
        username=request.POST.get('username') #  ('username')是html里面定义的
        password=request.POST.get('password') #  ('password') 是html里面定义的
        result['user']=username #字典里面的值
        result['passwordNum'] = password#字典里面的值
        result=json.dumps(result) #字典转换成json
        return HttpResponse(result,content_type='application/json;charset=utf-8') #告诉浏览器返回json格式的数据
    else:
        return render(request,'login.html')
结果:{"user": "test", "passwordNum": "111111"}


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值