点击上方“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 入门,快速搭建一个后端接口相关推荐

  1. 使用Django+MySQL快速搭建一个属于自己的网站

    使用Django+MySQL快速搭建一个属于自己的网站 Hello小伙伴们,你们好啊~~ 又是日常get新技能的一天, 今天,咱们来整理一下如何使用VMware Workstation上进行openE ...

  2. 【FastAPI 03】FastAPI快速搭建一个博客系统

    标题:FastAPI快速搭建一个博客系统 大家好,我是Kuls. 这是<小白学FastAPI>系列的第三篇文章. 今天我们主要讲的是FastAPI快速搭建一个博客系统. 这里可能有些小伙伴 ...

  3. 快速搭建一个网关服务,动态路由、鉴权看完就会(含流程图)

    [文章来源]https://sourl.cn/tcbSPi 前 言 本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流 ...

  4. go html vue,用Go+Vue.js快速搭建一个Web应用(初级demo)

    Vue.js做为目前前端最热门的库之一,为快速构建并开发前端项目多了一种思维模式.本文给大家介绍用Go+Vue.js快速搭建一个Web应用(初级demo). 环境准备: 1. 安装go语言,配置go开 ...

  5. 创建微服务架构的步骤_如何快速搭建一个微服务架构?

    原标题:如何快速搭建一个微服务架构? 微服务火了很久,但网上很少有文章能做到成熟地将技术传播出来,同时完美地照顾"初入微服务领域人员",从 0 开始,采用通俗易懂的语言去讲解微服务 ...

  6. 《电商直播高画质开播指南》正式发布,6步快速搭建一个高清直播间

    <电商直播高画质开播指南>,由阿里巴巴大淘宝技术.淘宝直播联合佳能"佳直播"高清直播解决方案(以下简称"佳直播")发布,旨在以标准化.场景化和低成本 ...

  7. 【Python Django Web项目】利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤(详细图文)上集

    今天我们要来介绍一下, 利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤 首先我们要建立一个专门放项目的文件夹 如下 E:\Projects , 我们建 ...

  8. java造轮子:快速搭建一个网关服务,动态路由、鉴权看完就会(含流程图)

    前言 本文记录一下我是如何使用Gateway搭建网关服务及实现动态路由的,帮助大家学习如何快速搭建一个网关服务,了解路由相关配置,鉴权的流程及业务处理,有兴趣的一定看到最后,非常适合没接触过网关服务的 ...

  9. putty串口打开没反应_如何使用树莓派快速搭建一个串口数据记录器?

    在最近发现同事的某些项目临时增加了一些需求,把测出的能见度数据保存在存储介质中,并且可以随时远程查阅.如果在项目时间与成本允许的情况下,我们会选择在PCB中增加SD卡槽以及以太网接口,用于存储数据和联 ...

最新文章

  1. 参加web前端培训需要注意什么
  2. 如何在无人机上部署YOLOv4
  3. 奇妙的Base64编码
  4. 服务器端 python pdb 调试
  5. (王道408考研数据结构)第八章排序-第五节:归并排序
  6. Oracle 20c 新特性:基础级内存数据库免费功能 In-Memory Base Level
  7. 让每一首心动歌曲穿越人海遇见你,背后竟藏着这么多“黑科技”|回响·TME音乐公开课...
  8. SAP License:PS中的成本控制
  9. explain如何查看mysql_MySql中如何使用 explain 查询 SQL 的执行计划
  10. 恶意文件 大数据案例库_无文件恶意软件感染完整指南
  11. P2272 [ZJOI2007]最大半连通子图
  12. 编程python视频教程_Python高级编程实战系列视频课程
  13. 一款手机App的开发成本是多少钱?
  14. 华为存储设备管理ip修改
  15. 麻雀优化算法SSA及其改进策略
  16. CHM格式 打开后不显示内容的解决办法
  17. 斐讯c 语言面试题,斐讯面试记录—三线程交替打印ABC
  18. Linux服务器上对网卡上各个IP地址流量统计
  19. 使用gdb调试Android(aarch 64)可执行二进制文件
  20. 简单工厂之Delphi实现

热门文章

  1. java string类方法_Java基础学习——String类及其方法
  2. 执行超时已过期。完成操作之前已超时或服务器未响应。_OMG! 云服务器 CPU 100%了!肿么办?...
  3. 一些重要的算法(转)
  4. 工业用微型计算机笔记(13)-指令系统(8)
  5. 趣学python3(1)-f前缀格式化字符串文本
  6. Python业务分析实战|共享单车数据挖掘
  7. 【NLP】中文情感分类单标签
  8. 【数据竞赛】2020 Kaggle 10大竞赛方案汇总
  9. 【机器学习基础】kaggle竞赛中数据抽样方式
  10. 【论文解读】从BERT和XLNet到MPNet