一、get请求和post请求

GET请求:

1. 浏览器请求一个页面
2. 搜索引擎检索关键字的时候

POST请求:
1. 浏览器向服务端提交数据,比如登录/注册等

二 、 Django中的APP:

什么是APP?以及为什么要用APP?

project --> 项目 (老男孩教育大学校)

APP --> 应用 (Linux学院/Python学院/大数据学院/Java学院)

方便我们在一个大的Django项目中,管理实现不同的业务功能.

1. 创建APP的命令
1. 命令行,在Django项目的根目录输入:
python3 manage.py startapp app名字

三 、 ORM

ORM:
优点:
1. 简单,不用自己写SQL语句
2. 开发效率高
缺点:
1. 记忆你这个特殊的语法
2. 相对于大神些的SQL语句,肯定执行效率有差距

ORM的对应关系:
类 ---> 数据表
对象 ---> 数据行
属性 ---> 字段

ORM能做的事儿:
1. 操作数据表 --> 创建表/删除表/修改表
操作models.py里面的类

2. 操作数据行 --> 数据的增删改查

不能创建数据库,自己动手创建数据库

使用Django的ORM详细步骤:
  1. 自己动手创建数据库
  create database 数据库名;
  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()
  4. 在app下面的models.py文件中定义一个类,这个类必须继承models.Model
  class 类名(models.Model):
  ...
  5. 执行两个命令
  1. python3 manage.py makemigrations
  2. python3 manage.py migrate

  ORM单表的增加和查询:
  1. 查询
  models.UserInfo.objects.all()

  2. 增加
  models.UserInfo.objects.create(name="张三")

 一、创建表

1.  自己动手创建数据库

create database day61
create table userinfo(id int auto_increment primary key varchar(10) not null ,pwd varchar(18) not null

2. 在Django项目中设置连接数据库的相关配置(告诉Django连接哪一个数据库)

# 数据库相关的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 连接的数据库类型
'HOST': '127.0.0.1', # 连接数据库的地址
'PORT': 3306, # 端口
'NAME': "day61", # 数据库名称
'USER': 'root', # 用户
'PASSWORD': '123456' # 密码
}
}

在setting文件夹下做如下配置

DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), #连接数据库类型
'ENGINE':'django.db.backends.mysql',
##连接数据库的地址
'HOST':'127.0.0.1',
##数据库名称
'NAME':'day61',
#用户
'USER': 'root',
#密码
'PASSWORD':'' }
}

3. 告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库

在init文件下写代码

import pymysql
pymysql.install_as_MySQLdb()

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

在module文件下添加

from django.db import models

# Create your models here.

#ORM 相关的只能写在这个文件中,写到别的文件里Django找不到.

class UserInfo(models.Model):
id = models.AutoField(primary_key= True)#创建一个自增的主键字段
name =models.CharField(null=False,max_length=32)#创建一个varchar(20)类型的不能为空的名字字段

5. 执行两个命令

1. python3 manage.py makemigrations
2. python3 manage.py migrate

  

查看表格 在mysql数据库里

c         

二、删除表 

把下面的语句注释掉然后执行 那两个语句
class UserInfo(models.Model):
id = models.AutoField(primary_key= True)#创建一个自增的主键字段
name =models.CharField(null=False,max_length=32)#创建一个varchar(20)类型的不能为空的名字字段
1. python3 manage.py makemigrations
2. python3 manage.py migrate
记录在了小本本 里


三、改表

修改class userinfo 的代码在执行两个指令

四、添加数据

五、表单操作之列表展示

在django project中url里添加数据

from app01 import views

urlpatterns=[
# url(r'^yimi/',yimi),
# url(r'^xiaohei/',xiaohei),
url(r'^index/',views.index),
# url(r'^user_list/',user_list)
url(r'^user_list/',views.user_list)
]

 在app01的views 里添加

from django.shortcuts import HttpResponse, render
from app01 import models
def user_list(request):
#去数据库中查询所有的用户
#利用orm这个工具去查询数据库,不用自己去查询
ret = models.UserInfo.objects.all()
print(ret[0].id,ret[0].name)
#打开user_list.html文件
return render(request,'user_list.html',{'user_list':ret})

  

在建一个html文件

展示

Day 61 Django第二天 (orm数据库操作)的更多相关文章

  1. django基础 -- 5. ORM 数据库操作

    一. ORM 对象关系映射 类   ------   表 类对象   ------   记录 类属性   ------   字段 二.  连接数据库配置 1.在  setting.py 文件中重新设置 ...

  2. Django入门4: ORM 数据库操作

    大纲 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 2.创建数据库 表结构 二.Django ORM基本增删改查 1.表数据增删改查 2.表结构修改 三.Django ORM 字段 ...

  3. Django 2.0 学习(16):Django ORM 数据库操作(下)

    Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...

  4. Django 2.0 学习(14):Django ORM 数据库操作(上)

    Django ORM 数据库操作(上) ORM介绍 映射关系: 数据库表名 ---------->类名:数据库字段 ---------->类属性:数据库表一行数据 ----------&g ...

  5. Django【第5篇】:Django之ORM数据库操作

    django之ORM数据库操作 一.ORM介绍 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录-------- ...

  6. Django中的ORM进阶操作

    Django中的ORM进阶操作 Django中是通过ORM来操作数据库的,通过ORM可以很easy的实现与数据库的交互.但是仍然有几种操作是非常绕也特别容易混淆的.于是,针对这一块,来一个分类总结吧. ...

  7. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  8. Django框架 之 ORM查询操作详解

    Django框架 之 ORM查询操作详解 浏览目录 一般操作 ForeignKey操作 ManyToManyField 聚合查询 分组查询 F查询和Q查询 事务 Django终端打印SQL语句 在Py ...

  9. 循序渐进Python3(十二) --2--  web框架之django简单实现oracle数据库操作

    在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接.             产能在软 ...

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

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

随机推荐

  1. 6-Linux 上mysql的常用命令 以及 tomcat的相关指定

    mysql -u root -p 进入Mysql //注意一下有逗号!!! show databases; //显示所有的数据库 drop database mydb; // 删除mydb这个数据库 ...

  2. winsock select 学习代码(1)

    // SelectCli.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <winsock2.h> #incl ...

  3. apicloud代码压缩和全局加密

    首先说代码压缩,因为没什么用,就先说它了.代码压缩后,apicloud里面的css和js文件里面的空格呀回车呀都去掉了,就是文件小了,所有代码显示为一行了.这些代码的变量没有重命名,我们知道jquer ...

  4. ipconfig 查看本机IP地址

    打开cmd 窗口 然后输入ipconfig 就会为你展示你想要的IP地址了...

  5. abp 的坑

    多数据库连接问题 viewmodel的验证问题 发布后,一段查找sln查找代码无法适用生产环境问题 多语言问题,默认中文设置与模板配置文件不统一

  6. msys2 命令行添加镜像地址

    sed -i "1iServer = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686" /etc/pacman.d/mi ...

  7. centos_x64 6.4 安装jdk1.7

    1.行到user目录下新建一个java目录 #cd /usr #mkdir java #cd /usr/java/ 2.下载jdk 先从oracle找到要下载的jdk地址然后 wget http:// ...

  8. 2018.06.29 NOIP模拟 旅馆(线段树)

    旅馆 [问题描述] OIEROIEROIER 们最近的旅游计划,是到长春净月潭,享受那里的湖光山色,以及明 媚的阳光.你作为整个旅游的策划者和负责人,选择在潭边的一家著名的旅馆住 宿.这个巨大的旅馆一 ...

  9. 2018.08.31 bzoj1426 收集邮票(期望dp)

    描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所以 ...

  10. 2018.07.10 NOIP模拟 sort(单调队列)

    Sort 题目背景 SOURCE:NOIP2016-RZZ-4 T1 题目描述 给你一个长度为 n 的排列,小W每次可以选择一个数,做以下操作: 不断把这个数与它右边的数交换. 当它右边没有数,或它右 ...