| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Django创建回调接口api -> 正文阅读 |
|
[Python知识库]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 ? 2. 创建django项目1)使用命令行创建项目django-admin startproject 项目名称 2)? 打开创建的项目|---Callback # 项目的/目录? ??|---Callback # 项目目录? ??????|---__init__.py? ??????|---settings.py # 配置文件? ??????|---urls.py # 路由系统 ===> url与视图的对应关系? ??????|---wsgi.py # runserver命令就使用wsgiref模块做简单的web server? |---manage.py # 管理文件 ? 3) 创建应用(app)每一个项目的功能都可以被分成多个app进行开发,可以认为一个app对应一种功能,个人理解相当于python中的封装,开发好的app也可在另一个项目中复用。 ?在Terminal中输入: python3.9 manage.py startapp callbackUrl 注意:具体用python3还是python还是其他的,需要看python interpreter中用的是哪个python,这里我用的是python3.9 ? 之后目录树变成: ? 在setting.py的INSTALLED_APPS中添加刚刚创建的app ? 至此就可以愉快的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/ ? 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,大功告成!
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 1:42:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |