IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python+django+vue搭建前后端分离项目Part3——后端django -> 正文阅读

[Python知识库]python+django+vue搭建前后端分离项目Part3——后端django

创建django项目

(my_django) XXX:~ XXX$ django-admin startproject book_manage

数据库创建和连接

  • 首先在MySQL中创建一个相关数据库

mysql> CREATE DATABASE databaseName CHARACTER SET utf8;
Query OK, 1 row affected (0.01 sec)
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'databaseName', # 自行修改
        'USER': '...',  # 自行修改
        'PASSWORD': '...', # 自行修改
        'HOST': '127.0.0.1',
    }
}
  • 在python中执行数据库同步操作
 (my_django) XXX:book_manage$ python manage.py migrate

可通过在mysql中查看数据库情况来判断是否已迁移成功。

创建 Django APP

创建django APP用于定义各个模块类

(my_django) XXX:~ XXX$ cd book_manage
(my_django) XXX:book_manage$ python manage.py startapp backend 

并把backend加入到./book_manage/settings.py文件中的installed_apps列表里:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'backend' # 添加
]

后端搭建

在django APP文件夹下主要会使用到的文件有 model.py 和 view.py。这两个文件分别作为模型层和视图层。

模型层model.py

该文件主要用于定义各个类,也就是用于创建数据表格的structure

视图层view.py

该文件主要用于定义一些接口,也就是对数据表格的操作。
e.g. 定义一个根据id号删除该id的书本接口

@require_http_methods(["GET"])
def delete_book(request):
    response = {}
    try:
        book = Book.objects.filter(id=request.GET.get('id'))
        book.delete()
        response['msg'] = 'success'
        response['error_num'] = 0
    except Exception as e:
        response['msg'] = str(e)
        response['error_num'] = 1
    return JsonResponse(response)

路由配置

  • 首先在backend下新建一个urls.py用于配制当前APP下的所有路由信息。
from django.urls import path, include
from .views import *

urlpatterns = [
    path(r"delete_book/", delete_book, ), # 当使用url为127.0.0.1:8000/delete_book/的时候执行delete_book操作
]

  • 接着在主Django项目下的urls.py进行接口路由配置

from django.contrib import admin
from django.urls import path,include
import backend.urls # 添加
urlpatterns = [
    path('admin/', admin.site.urls),
    path('backend/',include(backend.urls)) # 添加
]

数据迁移

(my_django) XXX:book_manage XXX$ python manage.py makemigrations backend
Migrations for 'backend':
  backend/migrations/0001_initial.py
    - Create model Book
(my_django) XXX:book_manage XXX$  python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, backend, contenttypes, sessions
Running migrations:
  Applying backend.0001_initial... OK

执行该段代码后,可在mysql中看到表格Book被成功创建

至此后端成功搭建,在没有前端连接基础上,可以直接启动Django服务,通过http调用接口在浏览器上测试

(my_django) XXX:book_manage XXX$ python manage.py runserver # 启动Django
http://127.0.0.1:8000/backend/delete_book?id=1

参考文章

https://sitin.blog.csdn.net/article/details/103607472?spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-12.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-12.pc_relevant_paycolumn_v3&utm_relevant_index=19

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:33:48  更:2022-02-01 20:34:49 
 
开发: 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/16 1:40:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码