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

登录网站

点击“添加用户”

提交之后过程:

中文”兼容“错误问题:

编码错误:

修改:

效果:

Django(app的概念、ORM介绍及编码错误问题)的更多相关文章

  1. Python - Django - App 的概念

    App 方便我们在一个大的项目中,管理实现不同的业务功能 创建 App: 命令行: python manage.py startapp app名 使用 Pycharm 创建: 文件 -> 新建项 ...

  2. Django ----- app 和 ORM的操作和介绍

    创建APP ORM 介绍 ORM的操作 说明一下 GET 和 POST 的区别: , GET ①获取一个页面 ②提交数据 数据显示在URL ?user=alex&pwd=alexdsb ,PO ...

  3. Django中ORM介绍和字段及其参数

    ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...

  4. Django应用app创建及ORM

    一.重要知识点回顾: 1. form表单提交数据的注意事项: 1. 是form不是from,必须要有method和action (action用来指定你的数据提交到后台哪个地方,method用来指定你 ...

  5. django的orm介绍以及静态文件介绍

    1 django中app的概念 大学:----------------- 项目 信息学院 ----------app01 物理学院-----------app02*强调:创建了app,要在配置文件中注 ...

  6. Django中ORM介绍

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  7. Django中ORM介绍和字段及字段参数

    Object Relational Mapping(ORM) 1 ORM介绍 1.1 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对 ...

  8. django中的ORM介绍和字段及字段参数

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  9. Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)

    Django中ORM介绍和字段及字段参数   Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...

随机推荐

  1. linux下的xampp安装

    最近因为要部署一个php的公众号应用到一台linux的测试服务器,在考虑是用xampp这样的集成环境还是自己配置.故两个都安装配置下. 最后经过研究查阅相关资料后,总结: 因为xampp本身很开放,几 ...

  2. FEATURE_MCT_READERDIRECT问题

    刚才查了一下,好像与一个叫CCID的驱动有关.你把FEATURE_MCT_READEDIRECT定义成0x08,再make一下试试.

  3. 2018.07.17 牛奶模式Milk Patterns(二分+hash)

    传送门 一道简单的字符串.这里收集了几种经典做法: SAM,不想写. 后缀数组+二分,不想写 后缀数组+单调队列,不想写 hash+二分,for循哈希,天下无敌!于是妥妥的hash 代码如下: #in ...

  4. Django入门与实践-第25章:Markdown 支持(完结)

    http://127.0.0.1:8000/boards/1/topics/102/reply/ 让我们在文本区域添加 Markdown 支持来改善用户体验. 你会看到要实现这个功能非常简单. 首先, ...

  5. Deployment is out of date due to changes in the underlying project contents. Deployment is out of date due to changes in the underlying project contents. You'll need to manually 'Redeploy' the projec

    原因1:导入的jar包路径不对,造成第一个错误, 原因2:设置右键工程->属性->myeclipse->web->deployment选use workbenk defaul ...

  6. VHDL实例化过程

    第二步:建立一个名为MUX_0的乘法器 第三步:在程序中例化,看以下程序. -- 该程序用来实现复数的乘法,端口分别定义的复数的 -- 输入的实部和虚部和输出的实部和虚部 LIBRARY IEEE; ...

  7. Eclipse中显示line number

  8. 笔记:PS 智能对象

    什么是智能对象? 智能对象是包含栅格或矢量图像(如 Photoshop 或 Illustrator 文件)中的图像数据的图层.智能对象将保留图像的源内容及其所有原始特性,从而让您能够对图层执行非破坏性 ...

  9. autolayout之后获取uiview的frame

    这个只要一行代码就搞定了.详细请看: In order to get the right frame/bounds of your UIImageView after resizing, you ne ...

  10. (能被11整除的数的特征)The shortest problem --hdu

    链接: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1005&cid=595 若一个整数的个位数字截去,再从余下的数中 ...