django开发简易get、post接口

前提条件:
1.安装好python并配置好环境变量;
2.安装好PyCharm

一.django环境搭建
1.安装django
命令行执行:pip install django

django开发简易get、post接口_第1张图片

2.在PyCharm中新建一个django项目,File-》New Project-》django project,选择工程地址和项目名,然后点击create

django开发简易get、post接口_第2张图片
django项目

3.在右上角配置环境参数,如图点击Edit Configurations...

django开发简易get、post接口_第3张图片

4.输入runserver 127.0.0.1:8000,然后点击ok

django开发简易get、post接口_第4张图片

5.启动django服务

django开发简易get、post接口_第5张图片
  1. 如下图启动成功
django开发简易get、post接口_第6张图片

7.在浏览器中输入http://127.0.0.1:8000/,到此django环境已经搭建成功

django开发简易get、post接口_第7张图片
image.png

二.接口开发

1.绑定一个url登录页面

django开发简易get、post接口_第8张图片
url

2.定义Login方法

django开发简易get、post接口_第9张图片
image.png

3.重新运行服务

django开发简易get、post接口_第10张图片
rerun

4.访问http://127.0.0.1:8000/login/,成功返回

image.png

5.新建一个登录页面,包含2个输入框和1个按钮,method为post

django开发简易get、post接口_第11张图片
image.png
django开发简易get、post接口_第12张图片
image.png

6.修改Login方法

def Login(request):
    #输入用户名提交后返回"hello,用户名"
    if request.method == "POST":
        username = request.POST.get('username')
        return HttpResponse("hello,"+username)
    else:#初始登录时返回一个静态登录页面
        return render_to_response('login.html')

7.再次访问

django开发简易get、post接口_第13张图片

8.输入用户名密码登录

django开发简易get、post接口_第14张图片

9.此时报403鉴权错误

django开发简易get、post接口_第15张图片

10.这是由于有csrf校验,注释掉即可,如下图所示,在setting中的csrf安全校验这一行

django开发简易get、post接口_第16张图片
image.png

11.再次访问后即可成功返回


至此已完成一个最简单的post请求,并成功请求和响应。

三.开发一个GET请求并以json格式响应数据

from django.http.response import HttpResponse
import json
def Login(request):
    if request.method == "GET":
        result = {}#先指定一个字典
        username = request.GET.get('username')
        mobile = request.GET.get('mobile')
        date = request.GET.get('date')
        result['user'] = username
        result['mobileNum'] = mobile
        result['date'] = date
        result = json.dumps(result)
        #指定返回数据类型为json且编码为utf-8
        return HttpResponse(result,content_type='application/json;charset=utf-8')
浏览器请求

期间所遇以下报错
如下图程序启动失败,是因为第一步搭建环境时第3、4步没配导致

django开发简易get、post接口_第17张图片
image.png

你可能感兴趣的:(django开发简易get、post接口)