Django爱之初体验,Python如何开发接口
测试开发之路
回复“资源”取干货
回复“工具”取技能
长按二维码关注吧
1.1 搭建Django环境
安装Django:
(1)命令行使用pip install django
(2)在seeting中添加
Python setup.py install
PyCharm新建一个Django项目:
其中manage.py是该Django项目的启动文件,需要命令行启动:python manage.py runserver 127.0.0.1:8000,或者可以直接pycharm界面运行,但是界面运行前需要配置下启动参数runserver 127.0.0.1:8000:
启动manage.py文件后,浏览器访问127.0.0.1:8000查看是否启动成功:
1.2 建Webapp应用程序
应用程序application建好后,在setting.py文件中配置应用程序:
如果还需要继续添加应用程序,则可以使用命令:python manage.py startapp appname
1.3 Django工作流
1.3.1 url组成及url配置:urls.py
u 协议类型: HTTP/HTTPS
itest.info 为一个网址,网址通过域名解析服务器会找到对应的 IP 主机。
u 端口号: 8000
进一步指定相应的端口号才能访问到具体的应用。
u 路径 : /admin 、/login/、/index/
这里配置URL路径时,使用了Python的正则表达式:
1.3.2 views视图:views.py
请求的处理就到了../webapp/views.py中的login视图函数:
from django.shortcuts import render
from django.http.response import HttpResponse
import json
# Create your views here.
def Login(request):
return HttpResponse('username')
if request.method == 'POST':
username = request.POST.get('username')
return HttpResponse('username')
else:
return render(request,'login.html')
views视图在Django中非常重要,是连接页面与数据的中间纽带,以上例子,输入用户名username点击登录后,那么request请求会由视图来接收。
如何提取出用户名等数据,如何用这些数据去查询数据库,再如何将登录成功的页面返回给用户,这都是由视图层来完成。
1.3.3 templates模板:xxx.html
打开../templates/login.html文件:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/login" method="POST">
<h1>用户名:<input name="username"> </h1>
<h1>密码:<input password="password"></h1>
<input type="submit" value="登录">
</form>
</body>
</html>
模板的载体就是Web页面,模板的主要作用是如何展示数据,比如视图层返回的是一个字符串,要如何显示在页面上,返回的对象数组要如何显示等。如果要使页面更加漂亮则需要借助CSS/JS等前端技术。
1.4 开发一个POST/GET接口
1.4.1 POST接口
在templates目录下新建一个login.html文件:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/login" method="POST">
<h1>用户名:<input name="username"> </h1>
<h1>密码:<input password="password"></h1>
<input type="submit" value="登录">
</form>
</body>
</html>
再在views.py下编码请求及相应:
from django.shortcuts import render
from django.http.response import HttpResponse
# Create your views here.
def Login(request):
# return HttpResponse('username')
if request.method == 'POST':
username = request.POST.get('username')
return HttpResponse('username')
else:
return render(request,'login.html')
1.4.2 GET接口
在templates目录下新建一个login.html文件,再在views.py下编码请求及相应:
from django.shortcuts import render
from django.http.response import HttpResponse
# Create your views here.
def Login(request):
if request.method == 'GET':
username = request.GET.get('username')
mobile = request.GET.get('mobile')
return HttpResponse(username,mobile)
else:
return render(request,'login.html')