Django模型和数据库操作

2023-11-03

文本参考菜鸟教程,创建模型和数据库,并对mysql数据库进行操作。 

 

1、创建数据库

在mysql命令行,输入创建数据库语句。

create database runoob default charset=utf8;   

2、修改settings.py文件中database配置。

HelloWorld/HelloWorld/settings.py: 文件代码

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql', # 数据库引擎

'NAME': 'runoob', # 数据库名称

'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1

'PORT': 3306, # 端口

'USER': 'root', # 数据库用户名

'PASSWORD': '123456', # 数据库密码

}

}

3、修改__init__.py

 4、定义模型

Django规定,如果要使用模型,必须要创建一个app。project和app的区别就是:一个project包含很多个Django app以及对它们的配置,一个app是一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在。

python manage.py startapp TestModel

 生成TestModel文件夹

 5、修改 TestModel/models.py

类字段name代表数据库中字段

 6、修改settings.py 

7、创建表结构

在runoob数据库创建了一个testmodel_test表

8、新建testdb.py 文件,用来对数据库表进行操作

添加数据需要先创建对象,然后再执行 save 函数,相当于SQL中的INSERT:

HelloWorld/HelloWorld/testdb.py: 文件代码:

# -*- coding: utf-8 -*-

from django.http import HttpResponse

from TestModel.models import Test # 数据库操作

def testdb(request):

test1 = Test(name='runoob')

test1.save()

return HttpResponse("<p>数据添加成功!</p>")

9、修改urls.py

HelloWorld/HelloWorld/urls.py: 文件代码:

from django.urls import path from .

import views,testdb

urlpatterns = [

path('runoob/', views.runoob),

path('testdb/', testdb.testdb), ]

testdb/为访问路径,testdb.testdb为testdb文件中的testdb函数 

10、运行项目,访问http://127.0.0.1:8000/testdb

 

 

 访问一次地址,则执行了testdb文件中对应函数的数据库操作,这里已经向数据表testmodel_test添加了一条数据,其中name为键,runoob为值,最后返回了数据添加成功,显示在view中。

 11、更新数据

修改testdb.py文件,如图

 从数据库取出id为1的数据,并复制name为Google。

访问地址,数据库数据更新,并返回修改成功至view。

 12、删除数据

test1 = Test.objects.get(id=1) 相当于SQL的get方法,获得id为1的记录,然后执行删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django模型和数据库操作 的相关文章

随机推荐

  • C++整型(short,int,long,longlong)

    C 整型数据类型 整型就是没有小数部分的 C 基本整型有char short int long long long 由于char 类型比较特殊 下面只关于char int long long long 1 整型short int long
  • 使用verilog实现4选1数据选择器的几种方法

    第一种方法module mux d1 d2 d3 d4 se1 se2 dout input d1 input d2 input d3 input d4 input se1 input se2 output dout reg dout al
  • 一目了然凉哥为大家倾力打造的付费专栏

    写在前面 大家好 我是几何心凉 欢迎来到我的付费专栏系列 本专栏将深入介绍 Vue 3 和 Vite 以及如何在 TypeScript 的帮助下构建现代化的 Web 应用程序 Vue 是一个流行的 JavaScript 框架 它允许开发人员
  • 【AntDesign】图片自定义上传组件 超详细含代码及解读~

    技术栈 AntDesign 版本 3x 效果图如下 官网示例给的是标准上传模式 此处用的是自定义上传模式 customRequest 代码 子组件代码 import React useState useImperativeHandle fr
  • 初识微服务框架ServiceComb

    https blog csdn net zengdongwen article details 93486257 后续跟进学习 转载于 https www cnblogs com chaojizhengui p 11586398 html
  • C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性

    问题 字段初始值设定项无法引用非静态字段 方法或属性的问题 下面代码出错的原因 在类中定义的字段为什么不能用 public class Test public Test public int Age 23 public int temp A
  • 隐马尔科夫模型 (HMM) 算法介绍及代码实现

    Table of Contents Hidden Markov Model 隐马尔科夫模型 定义 基本问题 前向算法 算法流程 实现代码 后向算法 算法流程 实现代码 Viterbi算法 算法流程 实现代码 Baum Welch 算法 单观
  • 网络布线的基础知识

    目录 网络布线的基础知识 1 信号 1 1什么是信号 1 2信号的分类 1 3数字信号的优势 2 双绞线 2 1双绞线 2 2双绞线标准与分类 3 光纤概述 3 1光纤的特点 3 2光纤分类 3 3光纤的优点 4 传输介质的连接与布线 4
  • 各种代理IP背后的原理

    讲解各种代理IP背后的原理 知道代理IP的人越来越多了 不管是单纯的换IP 还是进行大量的数据采集 或者是游走于灰色之中 都是离不开代理IP这个工具的 但是很少人会关注各种代理IP背后的原理 今天就听小编来给大家普及下吧 一 代理类型代理I
  • Python 数组教程 – 定义、索引、方法

    在本文中 您将学习如何使用 Python 数组 您将了解如何定义它们以及对它们执行操作常用的不同方法 本文介绍了您通过导入array module 我们不会在这里讨论 NumPy 数组 目录 什么是 Python 数组 Python 列表和
  • 【单目标优化算法】杂草优化算法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 杂草算法代码简单 易于实现 具有较强的自适
  • postman系列-使用变量

    事先声明 以下内容 均来自于postman官网 仅做学习会用 侵删 如果想系统的学习postman 也推荐官网直接学习 谢谢 作用 在请求中和脚本中 使用变量可以存储值和重用值 将值存储在变量中 就可以在collections enviro
  • 静态变量与非静态变量的区别

    静态变量的类型说明符是static 非静态变量反而类型说明符就不是static了 本文主要介绍静态和非静态变量的区别 希望对你有帮助 一起来看 AD 静态变量 静态变量使用 static 修饰符进行声明在所属类被装载时创建通过类进行访问所属
  • 数据结构 每日一练 :选择 + 编程

    目录 选择 编程 选择 A 正确 B 不正确 答案 A 解析 多维数组是一维数组的扩展 也就是数组的数组 例如二维数组可以看作是一维数组作为数据元素构成的一维数组 三维数组可以看作二维数组作为元素构成的一维数组 数组与线性表的关系 数组是线
  • 大学排行榜

    def read file file m 读文件中的学校名到列表中 返回排名前m学校集合 ls if file alumni txt with open file r encoding utf 8 as data for line in d
  • Python——元组的基本语法(创建、访问、修改、删除)

    Python 元组的使用 Python 的元组与列表类似 不同之处在于元组的元素不能修改 元组使用小括号 列表使用方括号 元组创建很简单 只需要在括号中添加元素 并使用逗号隔开即可 gt gt gt tup1 Google Runoob 1
  • 相关滤波之开篇Mosse原理及代码详解

    相关滤波之开篇Mosse原理及代码详解 相关滤波 Correlation Filter 介绍 代码解读 程序框图 本文主要介绍相关滤波算法开篇 mosse具体原理及其python代码实现流程 相关滤波 Correlation Filter
  • LeetCode-字母大小写全排列

    类似于二叉树的前序遍历 左分支代表不转换字母的大小写 右分支代表转换字母的大小写 如果遇到数字就跳过 继续遍历下一个位置 循环的终止条件是扫描到最后一个元素的下一个位置 如果扫描到最后一个元素就停止的话 那么最后一个元素可能还没有进行大小写
  • 【OpenVINO】将TensorFlow模型转成IR文件,并部署到NCS2上运行

    TensorFlow模型 这里以本人用TensorFlow实现的AlexNet模型为例 详见文章用TensorFlow实现AlexNet 且下面的过程都在激活OpenVINO环境后打开的jupyter notebook中完成 模型转换 编写
  • Django模型和数据库操作

    文本参考菜鸟教程 创建模型和数据库 并对mysql数据库进行操作 1 创建数据库 在mysql命令行 输入创建数据库语句 create database runoob default charset utf8 2 修改settings py