vlambda博客
学习文章列表

Django爱之初体验,Python如何开发接口


测试开发之路

回复“资源”取干货

回复“工具”取技能


长按二维码关注吧




1.1 搭建Django环境

安装Django:

(1)命令行使用pip install django

(2)在seeting中添加

Python setup.py install

PyCharm新建一个Django项目:

Django爱之初体验,Python如何开发接口

其中manage.py是该Django项目的启动文件,需要命令行启动:python manage.py runserver 127.0.0.1:8000,或者可以直接pycharm界面运行,但是界面运行前需要配置下启动参数runserver 127.0.0.1:8000:

Django爱之初体验,Python如何开发接口

启动manage.py文件后,浏览器访问127.0.0.1:8000查看是否启动成功:

Django爱之初体验,Python如何开发接口



1.2 建Webapp应用程序


Django爱之初体验,Python如何开发接口

应用程序application建好后,在setting.py文件中配置应用程序:

Django爱之初体验,Python如何开发接口

如果还需要继续添加应用程序,则可以使用命令:python manage.py startapp appname

Django爱之初体验,Python如何开发接口

Django爱之初体验,Python如何开发接口


 

1.3 Django工作流

Django爱之初体验,Python如何开发接口

 

1.3.1 url组成及url配置:urls.py

 

Django爱之初体验,Python如何开发接口

协议类型 HTTP/HTTPS

itest.info 为一个网址,网址通过域名解析服务器会找到对应的 IP 主机。

端口号: 8000

进一步指定相应的端口号才能访问到具体的应用。

路径 /admin /login//index/

 

Django爱之初体验,Python如何开发接口

这里配置URL路径时,使用了Python的正则表达式:

Django爱之初体验,Python如何开发接口


 

1.3.2 views视图:views.py

请求的处理就到了../webapp/views.py中的login视图函数:

from django.shortcuts import renderfrom django.http.response import HttpResponseimport 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文件:

<!DOCTYPE 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文件:

<!DOCTYPE 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 renderfrom 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 renderfrom 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')