Django连接MySql

2023-10-30

  1. 首先我们需要在Pycharm新建一个Django的项目
    在这里插入图片描述

  2. 新建后的文件目录如下:
    在这里插入图片描述

    a. __init__.py  标识当前所在目录时一个Python包,通过import导入的包或者方法会被自动识别
    b. asgi.py   一个ASGI兼容的Web服务器的入口,以便运行项目
    c. settings.py   Django项目的配置
    d. urls.py    用于记录Django项目的URL映射关系
    e. wsgi.py  服务器程序的入口文件,主要用于启动应用程序,在项目部署时会用到。
    f. mansge.py 命令行工具,主要用于启动项目、创建应用喝完成数据库迁移等
    
  3. 连接MySql分为以下三个部分:
    a. MySql提前创建好数据库
    b. 修改Django的settings.py文件。
    c. 修改Django的__init__文件

  4. MySql提前创建数据库
    在这里插入图片描述

  5. 修改Django的settings.py文件。
    a. 由于默认情况下Django项目连接的是自带的Sqlite数据库,所以我们需要在配置文件中修改: 默认情况下的数据库
    在这里插入图片描述
    b. 连接Mysql
    在这里插入图片描述

  6. 修改__init__.py: 由于修改了默认连接的数据库,所以需要在文件中添加以下内容。
    在这里插入图片描述

  7. 迁移数据库:以上内容都没问题之后,我们写一个小的demo运行一下。迁移数据库主要包含以下流程:

    提示:“迁移”就是把 Django 默认自带应用的数据表迁移到我们自己的创建的数据库里

    a. 创建app
    b. 命令行创建app

    	  python manage.py startapp myapp  # myapp为文件名 可自定义
    

    c. 在setting.py中配置新增的app
    在这里插入图片描述

  8. 迁移数据库到MySql,执行以下命令
    a.先在models.py中写一个demo, 里面没有内容的时候回提示“no change detected”,以下方法运行迁移命令时会自行创建一个数据表myapp_blog_model。命名规则:app名+类名

    from django.db import models
    
    class Blog_Model(models.Model):
     """自定义Blog_Model表对应的Model类"""
     # 定义属性
     name = models.CharField(db_column='name', max_length=200, blank=True, verbose_name='name')
    
     # 定义默认输出格式
     def __str__(self):
         return "%s" % (self.name)
    # 默认表名是:web_blog_model(app名+model方法名);可以通过以下方法自行创建表Blog(在数据库添加即可)
    # class Meta:
    #     db_table = 'Blog'
    

    b.如果想要自定义表名可以添加上图中的class Meta方法。
    执行以下命令

    python manage.py makemigrations
    python manage.py migrate
    

    在这里插入图片描述
    这里值得注意的是每一次数据表更改后,都需要执行下面的两个命令,它们的执行顺序如下所示:

    python manage.py makemigrations
    python manag.py migrate
    

    c.截图中的是自定义的表名
    在这里插入图片描述

  9. View.py内容修改

        from django.shortcuts import render
       from django.http import HttpResponse
       from web.models import Blog_Model
       
       
       def index(request):
           return HttpResponse("Hello Django")
       
       
       def stu(request):
           # 获取数据库表信息
           names = Blog_Model.objects.all()
           print(names)
           print(Blog_Model.objects.get(id=1))
       
           return HttpResponse("ok")
    
  10. 添加路由进行页面访问
    a. djangoProject–>urls.py中添加路由。路由通过相对路径来定位view+方法名
    在这里插入图片描述

  11. 启动

    python manage.py runserver 
    
  12. 访问路径:http://127.0.0.1:8000/stu/
    在这里插入图片描述

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

Django连接MySql 的相关文章

随机推荐

  • 教你用Appium搭建Android自动化测试框架(详细教程)

    如题 本文附有仓库地址以及代码 目录如下 1 下载安装appium 2 配置并使用appium 3 配置工程 一 下载安装appium 下载appium desktop的mac版本 我选择用1 17 1版本 最新的版本1 22 0 拆分一个
  • C语言与堆栈的理解

    C语言和堆栈的联系 C语言和栈 必须要先给C语言分配一个可用的栈空间 C语言才能运行 因为C语言里的临时变量都是放在栈空间里的 没有栈C语言是无法运行的 C语言和堆 堆空间就是我们申请的内存空间 用malloc函数申请的 C语言中当想要使用
  • 计算x的n次方(用函数)

    use MathJax to parse formulas Description 问题很简单 求x n 请编写pow 函数 声明如下 int pow int x int n int p pow的功能是实现x n 最后 个参数p没有用 系统
  • 全国计算机等级考试二级教程--python语言程序设计(2018年版)第二章:PYthon语言基本语法元素

    声明 本篇文章只是个人知识盲区 知识弱点 重点部分的归纳总结 望各位大佬不喜勿喷 梳理顺序是按照书籍的实际顺序梳理 转载请注明出处 作者 sumjess 一 程序的格式框架 1 缩进 缩进指每行语句开始前的空白区域 用来表示python程序
  • PE文件资源解析(十一)对话框资源的解析

    对话框资源 在这里指的是资源类型为RT DIALOG的资源信息 通过ResHacker看到的效果图如下 待续
  • 人脸表情数据集及其处理

    JAFFE数据集 1998年发布 这是比较小和老的数据库 该数据库是由10位日本女性在实验环境下根据指示做出各种表情 再由照相机拍摄获取的人脸表情图像 整个数据库一共有213张图像 10个人 全部都是女性 每个人做出7种表情 这7种表情分别
  • angular2使用Http服务

    当你需要使用Http的时候 需要在你的模块中导入HttpModal 否则会出现Http没有工厂错误 import NgModule from angular core import HttpModule from angular http
  • Android NDK开发——Android studio使用JNI调用OpenCV处理图像

    前言 这里要演示的是使用Android studio 做APP开发 使用JNI与C 交互的demo 一 创建工程 1 创建一个Native C 工程 2 命令工程和指定交互语言 3 指定C 语法版本 4 创建完成之后打开cpp目录下的CMa
  • 心电图心跳信号多分类预测(一)

    目录 1 赛题理解 1 1赛题概况 1 2数据概况 1 3代码示例 1 3 1数据读取 1 3 2分类指标计算示例 2 baseline 2 1 导入第三方包 2 2 读取数据 2 3 数据预处理 2 4 训练数据 测试数据准备 2 5 模
  • gitLab配置ssh实现私钥访问

    1 配置ssh文件 1 cd C Users 用户名 ssh 找到文件夹 删除 ssh 里面所有其他文件方面我们配置要最新的 2 win r cmd 呼出命令行 ssh keygen t rsa C 必须对应gitLab用户名 3 生成文件
  • 如何理解委托

    以前一直没弄懂委托到底有什么用 为什么要用 今天小小总结了一下 如下 总结 delegate 1 委托的定义 1 就是一个类 他定义了方法的类型 2 public delegate void 自定义类型 类型 变量 当然还有匿名委托dele
  • 再谈select, iocp, epoll,kqueue及各种I/O复用机制

    上篇文章太过幼稚 一派胡言 希望没有误导大家 我也是菜鸟 学习本身就是一个不断追求真理的过程 希望能谅解 首先感谢kasicass GG指出错误 已经指导我很多次了 非常感谢 然后我又查阅了一些资料 再次整理 more seriously
  • 老油条表示真干不过,部门新来的00后网络安全工程师已把我卷崩溃,想要润了...

    在程序员职场上 什么样的人最让人反感呢 是技术不好的人吗 并不是 技术不好的同事 我们可以帮他 是技术太强的人吗 也不是 技术很强的同事 可遇不可求 向他学习还来不及呢 真正让人反感的 是技术平平 却急于表现自己的人 每天加班到12点 在老
  • 解决java中html转word文档,转成功后的word文档在断网情况下无法显示图片问题

    前一段时间遇到一个问题 就是将html转成word文档 里面有图片 表格 和各种形式的文字 刚开始的做法是将html代码取出来 然后以留的形式进行保存 后缀名为 doc 当我转成之后发现一切完美 但是图片出现了问题 1 图片大小 像素有问题
  • 用elasticsearch-certutil生成证书

    1 生成CA证书 生成的elastic stack ca zip包含了证书和私钥 证书有效期是10年 elasticsearch certutil ca days 3650 keysize 4096 out cert elastic sta
  • 【Python爬虫】requests+BeautifulSoup4+MongoDB 爬取51job招聘信息(最新)

    新手训练 51job 网站完整的Python爬虫程序 文章目录 前言 一 网站解析 1 分析网站加载形式 2 分析网站的url 二 代码实现 1 引入库 2 解析城市编码 3 获取数据 3 1 解析数据 3 2 数据的清洗和存储 4 完整代
  • react更新props后this.props === nextProps

    1 this props always equals to nextProps 结构 父组件 ComparisonChart 子组件 UniversalChart 问题 父组件中state gt data传到子组件作为props gt da
  • 点击跳转到高德地图,百度地图,腾讯地图进行导航

    现在随着APP定制化的需求 很多APP都需要导航功能 然而自己APP集成一个导航 除了会增加APP大几十兆之外 还没有专业导航软件功能强大 然而现在大部分手机自带导航软件 所以只需要打开调用即可 包括腾讯的微信 都没有直接导航 而是调用了手
  • Ubuntu18.04及以上开机自启动脚本设置方法

    一 问题 ubuntu 18 04及以上系统取消了rc local自启动功能 因此不能像ubuntu16一样通过编辑rc local来设置开机启动脚本 通过下列简单设置后 可以使rc local重新发挥作用 二 方法 1 建立rc loca
  • Django连接MySql

    首先我们需要在Pycharm新建一个Django的项目 新建后的文件目录如下 a init py 标识当前所在目录时一个Python包 通过import导入的包或者方法会被自动识别 b asgi py 一个ASGI兼容的Web服务器的入口