Django创建回调接口api

背景:

基于web开发框架Django创建callback_url,将通过’POST’方法传入的回调信息写入mysql数据库中

首先贴一下Django说明文档:使用 Django | Django 文档 | Django

1. Django下载安装

有以下几种安装方法:

1)使用pip安装

可以先创建一个虚拟环境,以免影响其他的项目。创建虚拟环境的方法:

编写你的第一个 Django 补丁 | Django 文档 | Django

简单的说,先创建:

$ python3 -m venv ~/.virtualenvs/djangodev

再激活:

$ source ~/.virtualenvs/djangodev/bin/activate

虚拟环境激活后,使用pip安装:

$ python -m pip install Django

也可以省略上述创建虚拟环境的步骤,直接进行安装

2)在pycharm中直接安装

pycharm打开任意一个项目

pycharm > preference > python interpreter > ‘+’ > 搜索django

Django创建回调接口api

2. 创建django项目

1)使用命令行创建项目

django-admin startproject 项目名称

Django创建回调接口api

2) 打开创建的项目

|—Callback # 项目的/目录

|—Callback # 项目目录

|—init.py

|—settings.py # 配置文件

|—urls.py # 路由系统 ===> url与视图的对应关系

|—wsgi.py # runserver命令就使用wsgiref模块做简单的web server

|—manage.py # 管理文件

Django创建回调接口api

3) 创建应用(app)

每一个项目的功能都可以被分成多个app进行开发,可以认为一个app对应一种功能,个人理解相当于python中的封装,开发好的app也可在另一个项目中复用。

在Terminal中输入:

python3.9 manage.py startapp callbackUrl

注意:具体用python3还是python还是其他的,需要看python interpreter中用的是哪个python,这里我用的是python3.9

Django创建回调接口api

之后目录树变成:

Django创建回调接口api

在setting.py的INSTALLED_APPS中添加刚刚创建的app

Django创建回调接口api

至此就可以愉快的coding啦

3 创建callback_url接口

1) 首先在views.py编写接口的功能函数:

import json

from django.http import HttpResponse

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt

def save_status(request):

if request.method == ‘POST’:

request_dict = request.body

request_dict = json.loads(request_dict)

return HttpResponse(request_dict[‘build_status’])

else:

return HttpResponse(u’error’)

2) 在url.py函数中设置url,并关联app的功能函数:

from django.contrib import admin

from django.urls import path

from callbackUrl.views import save_status

urlpatterns = [

path(‘admin/’, admin.site.urls),

path(‘callback/’, save_status) # path(‘网址名’,功能函数名)

]

3)至此,这个项目已经可以简单跑起来了

如果在本机调试,可以运行:python3.9 manage.py runserver

浏览器打开网址:http://127.0.0.1:8000/callback/

Django创建回调接口api

4 数据存入数据库

1)根据callback_url接口文档,在models文件中构建数据库类

from django.db import models

class BuildMessage(models.Model):

build_status = models.CharField(max_length=20)

callback_id = models.CharField(max_length=50)

2)在settings中更改数据库设置,这里使用mysql数据库

DATABASES = {

‘default’: {

‘ENGINE’: ‘django.db.backends.mysql’,

‘NAME’: ‘xy’, # 数据库名

‘HOST’: ‘127.0.0.1’,

‘POST’: 3306,

‘USER’: ‘root’,

‘PASSWORD’:”

}

}

3) 创建数据库

运行:python3.9 manage.py makemigrations callbackUrl

之后再运行:python3.9 manage.py migrate callbackUrl

可以看到,已经出现了创建的表

4)完善功能函数

再回到views.py函数,实现将回调数据写入数据库的功能:

import json

from django.http import HttpResponse

from django.views.decorators.csrf import csrf_exempt

from callbackUrl.models import BuildMessage

@csrf_exempt

def save_status(request):

if request.method == ‘POST’:

request_dict = request.body

request_dict = json.loads(request_dict)

return HttpResponse(request_dict[‘build_status’])

else:

return HttpResponse(u’error’)

OK,大功告成!

Original: https://blog.csdn.net/weixin_47164283/article/details/127536864
Author: 进阶的小幺
Title: Django创建回调接口api

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/734348/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球