• Django(app的概念、ORM介绍及编码错误问题)


    day61

    Django中的APP:
            什么是APP?以及为什么要用APP?
            
            project  --> 项目  (老男孩教育大学校)
            
            APP      --> 应用  (Linux学院/Python学院/大数据学院/Java学院)
            
            方便我们在一个大的Django项目中,管理实现不同的业务功能.
            
            1. 创建APP的命令
                1. 命令行,在Django项目的根目录输入:
                    python3 manage.py startapp app名字

     

    也可使用pycharm在创建Django项目时,创建app

    ORM
        
        import pymysql
        pymysql.connect(
         ...
         ...
        )
        
        1. 不同的程序员写的SQL水平参差不齐
        2. 执行效率也参差不齐
        
        python语法   --自动翻译-->  SQL语句
        
        jQuery                      DOM
        $("#d1")     --自动翻译-->  document.getElementById("d1")
        
        ORM:  
            优点:
                1. 简单,不用自己写SQL语句
                2. 开发效率高
            缺点:
                1. 记忆你这个特殊的语法
                2. 相对于大神些的SQL语句,肯定执行效率有差距
     

           
        ORM的对应关系:
            类          --->      数据表
            对象        --->      数据行
            属性        --->      字段
     
        ORM能做的事儿:
            1. 操作数据表    --> 创建表/删除表/修改表
                操作models.py里面的类
            
            2. 操作数据行    --> 数据的增删改查
                
            不能创建数据库,自己动手创建数据库
          


        使用Django的ORM详细步骤:
            1. 自己动手创建数据库
                create database 数据库名;

    CREATE DATABASE 数据库名字 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    兼容中文。
            2. 在Django项目中设置连接数据库的相关配置(告诉Django连接哪一个数据库)
                # 数据库相关的配置
                DATABASES = {
                    'default': {
                        'ENGINE': 'django.db.backends.mysql',  # 连接的数据库类型
                        'HOST': '127.0.0.1',  # 连接数据库的地址
                        'PORT': 3306,  # 端口
                        'NAME': "day61",  # 数据库名称
                        'USER': 'root',  # 用户
                        'PASSWORD': '123456'  # 密码
                    }
                }


            3. 告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库
                在项目/__init__.py文件中,写下面两句:
                    import pymysql
                    # 告诉Django用pymysql来代替默认的MySQLdb
                    pymysql.install_as_MySQLdb()

    是项目中的__init__.py,而不是app01中的。


            4. 在app下面的models.py文件中定义一个类,这个类必须继承models.Model
                class 类名(models.Model):
                    ...


        

            5. 执行两个命令
                1. python3 manage.py makemigrations
                2. python3 manage.py migrate
     
     
        

    如果要删除该数据库,将module.py中内容注释。

    并运行上述两个命令即可,python3 manage.py makemigrations记录module中变动,python3 manage.py migrate翻译成sql语句并执行。

    将表改为兼容中文。

    ORM单表的增加和查询:
            1. 查询
                models.UserInfo.objects.all()
                
            2. 增加
                models.UserInfo.objects.create(name="张三")

    一个实例化的对象对应一条数据

     

    mysiteday61

    登录网站

    点击“添加用户”

    提交之后过程:

    中文”兼容“错误问题:

    编码错误:

    修改:

    效果:

  • 相关阅读:
    【LGR-070】洛谷 3 月月赛-官方题解
    洛谷P1034 矩形覆盖
    <C和指针---读书笔记9>
    <C和指针---读书笔记8>
    <C和指针---读书笔记7>
    <C和指针---读书笔记6>
    <C和指针---读书笔记1>
    <C和指针---读书笔记2>
    <C和指针---读书笔记5>
    <C和指针---读书笔记4>
  • 原文地址:https://www.cnblogs.com/112358nizhipeng/p/10292242.html
Copyright © 2020-2023  润新知