Django框架-后端的搭建

前言

我们团队项目做的是一个app,而我负责的后端部分,而在寻找后端框架,如何使用框架我们也花费了大量时间去寻找和解决。所以,我写了一个简易的教程可以简单的在短时间内学会Django框架的基础使用,当然,这只是一个简易的教程,而如果想对django了解更多,可以去django官方网站

环境的部署

Django框架是用python书写的,所以在进行环境的部署前你需要下载python,然后安装两个包,django,djangorestframework

pip install django
pip install djangorestframework

好了,现在你已经完成环境的部署了,接下来将介绍如何创建项目,并提供前端相应的接口

项目的创建

在你所需要创建的项目的目录下打开cmd

例,在该目录下创建我的项目(API)

在终端上输入

django-admin.py startproject API

在该目录下就会创建出一个新的文件夹,而这个文件夹就是我们的项目,现在我们就完成了项目的构建

app的使用

在django中,如果要使用数据库,也就是mysql,一般是创建app,然后在app中的model.py里构建数据表。

接下来将展示如何创建app,并构建一个简单的数据表为前端提供接口。

创建app

这是上一步创建的项目API

在终端输入

cd API
python manage.py startapp first_app

然后在外层API目录下就会有一个名为first_app的文件夹

修改配置文件

然后记住修改内层API的setting.py文件

也就是在这里我们需要新添加刚刚创建的新的app,first_app。

而对于数据库的配置也是在该文件中

我们这里直接就使用了默认的数据库,当然也可以使用其他的数据库

app中数据表的构建

在后端最离不开的就是数据了,而在django中存储数据是通过数据表来进行的,接下来将介绍如何创建一个简单的数据表

在django的app文件夹下,这个文件就是专门来写数据表的文件,这里我们来创建一个简单的数据表

from django.db import models

# Create your models here.
class Student(models.Model):
objects = models.Manager()
student_id = models.CharField(max_length=100)
student_name = models.CharField(max_length=100)

前端接口

创建数据表后,就是写给前端的接口了,而给前端的接口,类似于一个函数,接口的参数就是函数的参数,而接口的返回值就是函数的返回值,我们在该文件下写接口函数

首先我们最常用的两种类型接口就是get,post,其中get是取数据库中数据,而post是在数据库中插入数据。

先搭建好基本框架,还是在views.py里

from rest_framework.views import APIView
from rest_framework.response import Response from .models import Student#引用上一把创建的数据表 class QueryStudent(APIView):
@staticmethod
def get(request):
"""
""" @staticmethod
def post(request):
""" """

前端传入的数据就这函数的参数request中,我们现在来简单的实现这两个接口

from rest_framework.views import APIView
from rest_framework.response import Response from .models import Student class QueryStudent(APIView):
@staticmethod
def get(request):
"""
"""
req = request.query_params.dict()#前端给的json包数据
student_name = req["student_name"] student_id = Student.objects.filter(student_name=student_name).values("student_id")#提取数据表中数据
return Response(student_id)#返回数据,这里由于提取数据表中数据直接就是jason格式所以可以直接传,其他的需要转为json格式 @staticmethod
def post(request):
"""
"""
req = request.data#前端给的json包数据
student_id = req["student_id"]
student_name = req["student_name"] Student(student_id=student_id,student_name=student_name).save()#保存数据 return Response()#不需要返回数据

在写接口时需要注意是两个方面,接受数据和返回数据,对于接受的数据get和post是不同的方法,而返回的数据需要是json格式的数据

接口的路径

首先在app,first_app目录下新建文件urls.py,并在该目录下写以下代码

from django.urls import path
from . import views urlpatterns = [
path('', views.QueryStudent.as_view()),
]

然后在内层API中urls.py做如下修改

from django.contrib import admin
from django.urls import path
from django.urls import include urlpatterns = [
path('admin/', admin.site.urls),
path('student/', include('first_app.urls')),
]

好了,现在我们接口路径就配置(http://127.0.0.1:8000/student/)完成,接下来进行验证了。

注意这里的127.0.0.1:800,指的是你自己主机的本地地址,所以只有当你将django在本地跑起来了才能进行访问

运行服务器

运行服务器前首先进行数据的迁移和构建,因为之前我们写的model.py只是写了代码却没有实现

我们在终端输入

python manage.py makemigrations first_app
python manage.py migrate

然后在终端输入

py manage.py runserver

好了,现在就可以测试你以上步骤是否正确了

验证后端

首先你需要下载软件postman

打开软件

点击加号,创建一个调用接口页面

我们首先验证之前所写get接口

http://127.0.0.1:8000/student/?student_name=1

由于数据表中无数据,所以返回值为空

再验证post接口

我们插入的数据为

{
"student_id":"1",
"student_name":"xiaoming"
}

然后再次检验get接口

和之前插入的数据吻合

再看终端服务器对于这三次访问的结果

好了,以上就完成了django框架的初步使用,当然这只是其中的一个很基础的方面,仅做到了实现相应的功能,对于项目的开展,还需要一个更深入的了解,也希望大家可以多多看一下官方文档,理解为什么这样做,这样做的原因,而不是简单的知道怎么做

[技术博客]Django框架-后端的搭建的更多相关文章

  1. [技术博客] Django中文件的保存与访问

    [技术博客] Django中文件的保存与访问 在TextMarking项目开发中,数据库需要保存用户上传的文本文档. 原型设计:用户点击上传文本->保存文本->文本发送到后端保存为文件. ...

  2. [技术博客]django连接mysql数据库的方法及部分问题的解决方法

    配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...

  3. 【技术博客】Django中文件下载的实现

    开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. Django中文件下载的实现 1.背景 在VisualPy ...

  4. 【技术博客】JWT的认证机制Django项目中应用

    开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. JWT的认证机制Django项目中应用 这篇技术博客基于软 ...

  5. [技术博客] 软工-Ruby on Rails 后端开发总结分享

    [技术博客] 软工-Ruby on Rails 后端开发总结分享 在这次软件编写中,我们的后端使用了Ruby on Rails (RoR)框架. Rails框架是用Ruby编写的.这意味着当我们为Ru ...

  6. 在Ubuntu14.04上安装WordPress4搭建技术博客

    1.安装LAMP环境 1.1 安装Apache2 1.2 安装MySQL5 1.3 安装PHP5 1.4 安装phpMyAdmin 2.初始化数据库 3.下载并配置WordPress 4.配置Apac ...

  7. 技术人如何利用 github+Jekyll ,搭建一个独立免费的技术博客

    上次有人留言说,技术博客是程序员的标配,但据我所知绝大部分技术同学到现在仍然没有自己的技术博客.原因有很多,有的是懒的写,有的是怕写不好,还有的是一直想憋个大招,幻想做到完美再发出来,结果一直胎死腹中 ...

  8. [技术博客]采用Bootstrap框架进行排版布局

    [技术博客]采用Bootstrap框架进行排版布局 网页的前端框架有很多很多种,比如Bootstrap.Vue.Angular等等,在最开始其实并没有考虑到框架这回事,开始阅读往届代码时发现其部分采用 ...

  9. [福大软工] Z班——个人技术博客评分

    个人技术博客 作业地址 https://edu.cnblogs.com/campus/fzu/SoftwareEngineering2015/homework/1070 作业要求 个人技术博客单次作业 ...

随机推荐

  1. Python - 通过PyYaml库操作YAML文件

    PyYaml简单介绍 Python的PyYAML模块是Python的YAML解析器和生成器 它有个版本分水岭,就是5.1 读取YAML5.1之前的读取方法 def read_yaml(self, pa ...

  2. AOP联盟通知类型和Spring编写代理半自动

    一.cglib功能更强大 二.Spring核心jar包 三.AOP联盟通知 三.代码实现Spring半自动代理 1.环绕通知的切面 2.bean.xml配置 3.创建bean容器,获取bean,即已经 ...

  3. 面试HashMap你都扛不住,还想拿到offer?

    当我们面试Java开发岗位时,面试官问的频率出现最多的问题,就是这个HashMap,不管是传统型公司还是互联公司,HashMap是必问的,所以作者爆肝整理了HashMap的23个问题以及答案,请查收! ...

  4. rootfs -根文件系统制作

    目录 目录 目录 概述 概念 根文件系统是什么 根文件系统中有什么 根文件系统的形式 Busybox 简介 什么是 linuxrc VFS 简介 Busybox 工具 Busybox 目录结构 Men ...

  5. 使用 elementUI 树形控件Tree 编辑数据

    操作新增/编辑功能时初始化数据: 应用属性 default-checked-keys 给Tree节点赋默认值(赋值数据为节点数组Arr)前,应先清空数组Arr,并且配合使用 this.$refs.tr ...

  6. 通过Wireshark抓包分析谈谈DNS域名解析的那些事儿

    文/朱季谦 本文主要想通过动手实际分析一下是如何通过DNS服务器来解析域名获取对应IP地址的,毕竟,纸上得来终觉浅,绝知此事要躬行. 域名与IP地址 当在浏览器上敲下"www.baidu.c ...

  7. Django学习day11随堂笔记

    今日考题 """ 今日考题 1.简述自定义分页器的使用 2.forms组件是干什么用的,它的主要功能有哪些功能,你能否具体说说每个功能下都有哪些经常用到的方法及注意事项( ...

  8. PHP设计模式之中介者模式

    上回说道,我们在外打工的经常会和一类人有很深的接触,那就是房产中介.大学毕业后马上就能在喜欢的城市买到房子的X二代不在我们的考虑范围内哈.既然需要长期的租房,那么因为工作或者生活的变动,不可避免的一两 ...

  9. windows日志查看与清理

    日志查看 (1) 启动Windows实验台,点击:开始 - 控制面板 - 管理工具 - 事件查看器. (2) 应用程序日志.安全日志.系统日志.DNS日志默认位置:%sys temroot%\syst ...

  10. flask_sqlalchemy 查询结果转dict 终极解决方案

    之前为了学习Python,试着拿Flask作框架搞小网站,感觉还不错,基本就抛弃了PHP.前段时间做了一个微信小程序,想着yii框架拿来写几十个小接口是不是浪费了,就继续用flask写api了,哪想到 ...