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. Ubuntu下部分软件的简介及安装

    1.安装linux摄像头应用软件cheese sudo apt-get install cheese 2.Ubuntu Tweak    Ubuntu Tweak是一款专门为Ubuntu(GNOME桌 ...

  2. UI设计不就是画线框,凭什么年薪30W?

    作为一枚界面设计师 我真的很想为UI设计抱不平啊!! UI设计真是一个备受不解的职业 常会被误解,然后出现以下场景 程序欧巴: 界面画好没?按钮圆的方的不都能用吗?纠结那多干嘛? 产品经理: 这次我们 ...

  3. stl学习记录(2)

    #include <iostream> #include <utility> #include <tuple> #include <complex> # ...

  4. 配置tomcat server.xml 文件 ,虚拟路径

    <Context path="/web" docBase="D:\workspace\web\src\main\webapp"  reloadable=& ...

  5. part1:1-embeded学习心态

    遇到问题,要冷静分析问题,采用排除法,个个排除查找问题之所在!切记!在没分析完自己问题之前,别把问题所在指向他人!

  6. 2018.09.19 atcoder AtCoDeer and Rock-Paper(贪心)

    传送门 sb贪心啊. 显然能选帕子就选帕子. 首先假设第一个人全出石头. 考虑把一些石头修改成帕子. 这样贡献只增不减,加起来就是答案. 代码: #include<bits/stdc++.h&g ...

  7. try-catch+thows异常范围说明

    方式一: CatalogPO deleteTarget = null; /** 查询是否存在 **/ deleteTarget = catalogMapper.findByCatalogId(cata ...

  8. DataGrid组件

    <?xml version="1.0" encoding="utf-8"?><s:WindowedApplication xmlns:fx=& ...

  9. HDU 2095 find your present (2) (异或)

    题意:给定n个数,让你找出那一个次数为1的. 析:由于题意说了,只有那一个数是奇数,所以其他的都是偶数,根据异或的性质,两个相同的数异或为0: 任何数和0异或得原数,可以很简单的做出这个题. 代码如下 ...

  10. css3美化滚动条样式

    1.改变浏览器默认的滚动条样式 ::-webkit-scrollbar-track-piece { //滚动条凹槽的颜色,还可以设置边框属性 background-color:#f8f8f8; } : ...