栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django连接MySql

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django连接MySql

  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/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号