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. Js下载文件到本地(兼容多浏览器)

    在客户端通过js下载文件,试过几种下载方式,iframe方式仅限于IE浏览器,window.open(url),location.href=url 这两种方式在chrome浏览器还会是直接打开文件而不 ...

  2. ubuntu下设置DNS服务器

    当网卡通过DHCP获取IP地址时,DHCP会根据DHCP服务器配置,自动给系统分配DNS服务器地址,此时执行 ping www.baidu.com 动作,会将百度的域名在本地转换成ip地址,然后走路由 ...

  3. asp.net (jquery easy-ui datagrid)通用Excel文件导出(NPOI)

    http://www.cnblogs.com/datacool/archive/2013/03/12/easy-ui_datagrid_export_excel_asp_net.html

  4. adb占用

    输入netstat -ano | findstr "5037" .然后会弹出提示告诉你哪些进程占用了该端口,记住非0地址的后面的数字 打开任务管理器,点击“进程“,“查看”-“选择 ...

  5. msys2 设置home路径为windows用户路径

    1配置/etc/nsswitch.conf db_home: windows 2(可不配)增加windows环境变量HOME为%USERPROFILE% 3(可不配)ssh默认仍使用msys中的hom ...

  6. 系统调用方式文件编程-open

    通过Linux系统调用函数编写应用程序,该应用程序实现文件的复制功能 文件描述符--在Linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配. 1.打开文件--open 头文件:#inc ...

  7. Linux编程规范

    1)在使用C语言进行编程时,源文件都必须加---文件头 /******************************************************** *文件名:test.c *创 ...

  8. 2018.09.11 poj2976Dropping tests(01分数规划)

    传送门 01分数规划板子题啊. 就是简单变形移项就行了. 显然 ∑i=1na[i]∑i=1nb[i]≤k" role="presentation" style=" ...

  9. Django(3)

    https://www.cnblogs.com/yuanchenqi/articles/7429279.html

  10. maven 学习:为什么要使用maven,maven使用过程中的一些参数

    Maven是一个基于Java平台的项目构建工具. 设计的出发点: 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们要重复相同的开发步骤:编码,编译,测试,生成文档,打包发布. ...