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"}