django 入门,快速搭建一个后端接口
点击上方“AI搞事情”关注我们
创建项目
django-admin startproject autoweb
项目目录结构:
manager.py
与项目进行交互的命令行工具集的入口(项目管理器)
autoweb
目录:项目容器,同项目名,包含项目的基本配置,目录名称不建议修改
__init__.py
Python中声明模块的文件,内容默认为空
settings.py
项目的总配置文件,包含数据库、Web应用、时间等各种配置
urls.py
URL配置文件,Django项目中所有地址(页面)都需要我们自己去配置其URL
wsgi.py
WSGI(Python Web Server Gateway Interface)Python服务器网关接口,Python应用与Web服务器之间的接口。
创建应用
python manage.py startapp web
应用目录:
使用命令行创建应用时需要手动将应用名添加到settings.py中的INSTALLED_APPS
里,应用名不能与Python中模块名相同
migrations
数据移植(迁移)模块
__init__.py
: Python中声明模块的文件,内容默认为空
admin.py
: 应用的后台管理系统的配置
apps.py
: 应用的一些配置,Django-1.9以后自动生成
models.py
: 数据模型,使用ORM框架,类似于MVC结构中的Models(模型)
tests.py
: 自动化测试模块,Django提供了自动化测试功能,在这里编写测试脚本(语句)
views.py
: 执行响应代码和逻辑处理的主要模块,包含项目中的大部分代码
启动服务
manage.py runserver 0.0.0.0:8000
0.0.0.0
表示可通过服务器的所有ip访问到,8000位自定义端口号;浏览器访问:127.0.0.1:8000
出现默认页面
如果需要和前端对接,前端通过IP访问需要将本机IP加入到setting的ALLOWED_HOSTS
列表里面,这样就可以通过IP + 端口进行访问了
路由配置
主路由:项目容器下urls.py
from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('pic/', include('web.urls')), # 为web应用配置一个入口
]
子路由:应用目录下创建一个urls.py
from django.urls import path
from . import viewsurlpatterns = [path('message', views.gen_web, name='gen_web'),
]
接口开发
主要在views.py
为上述路由地址实现相应函数,实现相关的功能。
views每个对外方法的参数都是request
,Django 把请求的 metadata 数据包装成一个 HttpRequest
对象,然后 Django 加载合适的 view 方法,把这个 HttpRequest
对象作为第一个参数传给 view 方法。任何 view 方法都应该返回一个 HttpResponse
对象。
比如在这里,我们根据前端上传的描述字段,返回若干图像的list给前端进行展示。
import json
from django.http import HttpResponse
from web.wudao.get_image import get_imagedef gen_bg(request):"""返回图像信息"""try:if request.method == 'POST':request_body = request.bodyfestival_str = eval(request_body.decode())['descripe']print(festival_str)# 获取图像信息base64_lst = get_image(festival_str)if len(base64_lst) != 0:return HttpResponse(json.dumps({'code': '0', 'data': {'images': base64_lst}, 'msg': 'success'}))else:return HttpResponse(json.dumps({'code': '1', 'data': {'images': base64_lst}, 'msg': 'fail'}))else:return HttpResponse(json.dumps({'code': '1', 'msg': '请求方法错误!'}))except Exception as e:return HttpResponse(json.dumps({'code': '1', 'msg': str(e)}))
前端通过访问:ip:port/pic/get_bg
,就可以获取后端服务传过去的若干图像,前端通过页面渲染便可以把图像展示出来。
长按二维码关注我们
有趣的灵魂在等你
django 入门,快速搭建一个后端接口相关推荐
- 使用Django+MySQL快速搭建一个属于自己的网站
使用Django+MySQL快速搭建一个属于自己的网站 Hello小伙伴们,你们好啊~~ 又是日常get新技能的一天, 今天,咱们来整理一下如何使用VMware Workstation上进行openE ...
- 【FastAPI 03】FastAPI快速搭建一个博客系统
标题:FastAPI快速搭建一个博客系统 大家好,我是Kuls. 这是<小白学FastAPI>系列的第三篇文章. 今天我们主要讲的是FastAPI快速搭建一个博客系统. 这里可能有些小伙伴 ...
- 快速搭建一个网关服务,动态路由、鉴权看完就会(含流程图)
[文章来源]https://sourl.cn/tcbSPi 前 言 本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流 ...
- go html vue,用Go+Vue.js快速搭建一个Web应用(初级demo)
Vue.js做为目前前端最热门的库之一,为快速构建并开发前端项目多了一种思维模式.本文给大家介绍用Go+Vue.js快速搭建一个Web应用(初级demo). 环境准备: 1. 安装go语言,配置go开 ...
- 创建微服务架构的步骤_如何快速搭建一个微服务架构?
原标题:如何快速搭建一个微服务架构? 微服务火了很久,但网上很少有文章能做到成熟地将技术传播出来,同时完美地照顾"初入微服务领域人员",从 0 开始,采用通俗易懂的语言去讲解微服务 ...
- 《电商直播高画质开播指南》正式发布,6步快速搭建一个高清直播间
<电商直播高画质开播指南>,由阿里巴巴大淘宝技术.淘宝直播联合佳能"佳直播"高清直播解决方案(以下简称"佳直播")发布,旨在以标准化.场景化和低成本 ...
- 【Python Django Web项目】利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤(详细图文)上集
今天我们要来介绍一下, 利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤 首先我们要建立一个专门放项目的文件夹 如下 E:\Projects , 我们建 ...
- java造轮子:快速搭建一个网关服务,动态路由、鉴权看完就会(含流程图)
前言 本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流程及业务处理,有兴趣的一定看到最后,非常适合没接触过网关服务的 ...
- putty串口打开没反应_如何使用树莓派快速搭建一个串口数据记录器?
在最近发现同事的某些项目临时增加了一些需求,把测出的能见度数据保存在存储介质中,并且可以随时远程查阅.如果在项目时间与成本允许的情况下,我们会选择在PCB中增加SD卡槽以及以太网接口,用于存储数据和联 ...
最新文章
- 参加web前端培训需要注意什么
- 如何在无人机上部署YOLOv4
- 奇妙的Base64编码
- 服务器端 python pdb 调试
- (王道408考研数据结构)第八章排序-第五节:归并排序
- Oracle 20c 新特性:基础级内存数据库免费功能 In-Memory Base Level
- 让每一首心动歌曲穿越人海遇见你,背后竟藏着这么多“黑科技”|回响·TME音乐公开课...
- SAP License:PS中的成本控制
- explain如何查看mysql_MySql中如何使用 explain 查询 SQL 的执行计划
- 恶意文件 大数据案例库_无文件恶意软件感染完整指南
- P2272 [ZJOI2007]最大半连通子图
- 编程python视频教程_Python高级编程实战系列视频课程
- 一款手机App的开发成本是多少钱?
- 华为存储设备管理ip修改
- 麻雀优化算法SSA及其改进策略
- CHM格式 打开后不显示内容的解决办法
- 斐讯c 语言面试题,斐讯面试记录—三线程交替打印ABC
- Linux服务器上对网卡上各个IP地址流量统计
- 使用gdb调试Android(aarch 64)可执行二进制文件
- 简单工厂之Delphi实现
热门文章
- java string类方法_Java基础学习——String类及其方法
- 执行超时已过期。完成操作之前已超时或服务器未响应。_OMG! 云服务器 CPU 100%了!肿么办?...
- 一些重要的算法(转)
- 工业用微型计算机笔记(13)-指令系统(8)
- 趣学python3(1)-f前缀格式化字符串文本
- Python业务分析实战|共享单车数据挖掘
- 【NLP】中文情感分类单标签
- 【数据竞赛】2020 Kaggle 10大竞赛方案汇总
- 【机器学习基础】kaggle竞赛中数据抽样方式
- 【论文解读】从BERT和XLNet到MPNet