说明一下  GET 和 POST 的区别:
, GET
①获取一个页面
②提交数据 数据显示在URL ?user=alex&pwd=alexdsb
,POST
from 表单提交数据 数据不显示

创建APP

创建APP 有两种方式

一、 命令行创建APP文件:

python manage.py startapp app01

执行命令后 项目目录下会多出一个app文件

二、 也可以用pycharm来创建app文件

1. Django项目创建后追加app:

  可以使用Pycharm的manage.py工具来执行命名.在主菜单中选择Tools,在下拉菜单中选择Run manage.py Task

  

在弹出的命令窗口中直接输入命令就可以创建好app

startapp app01

2,在创建Django项目时,建立app

在Application name 中添加上要创建的名字即可

创建Django创建App 的大概步骤

1,下载:
命令行: pip install django == 1.11.15
pip install -i或 源 django == 1.11.15
pycharm
settings 解释器 点 + 号 输入django 选择版本 2,创建 Django项目
1,命令行: (可能有的东西没配置)
cd 保存项目的目录
django - admin startporject 项目名
2,pycharm(可以自己都配置好)
filr(按钮)--> new project --选择django ---->选择解释器--创建django项目
3,启动项目
1,命令行:
切换到 manage.py的目录下
cd
python manage.py runserver #127.0.0.1:8000
python manage.py runserver 80 #127.0.0.1:8000
python manage.py runserver #0.0.0.1:8000
2.pycharm
配置项
点绿色三角启动
4,settings配置
1,静态文件
STATIC_URL= "/static/" #别名 ()
STATICFILES_DIRS = [
os.path.join(BASE_DIR,"static"), ] (可以创建多个) 2,TEMPLATES 模版 放HTML文件的地方
DIRS [os....] 自动生成的 3,注释 csrf中间件
MIDDLEWARE 第四行 csrf 注释掉这一行
4,数据库的配置 5, URL 和函数的对应关系 ---> urls.py
urlpatterns[
url(r"^admin/",admin.site.urls),
url(),
] 6.APP
1.创建APP
1,命令行:
python manage.py startapp APP名
2,pycharm
tools ---> run manage.py task --> startapp APP名 2.注册APP
在settings.py中
INSTALLED_APPS[
加上自己的APP名(如若pycharm创建 会自动添加 若是手动添加则按规范来
"APP名字.apps.App01Config") ] 7.使用mysql数据库
1.创建一个数据库
2.在srttings配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #引擎
'NAME': 'db66', #数据库名字
"USER": "root", #账户
"PASSWORD": "", #密码
"HOST": "127.0.0.1", #IP地址
"PORT": 3306, #端口号
}
}
3.告诉Django 使用pymysql 模块连接数据库
在settings.py 同级目录下的 __init__.py中写(下载好了 pymysql):
import pymysql
pymysql.install_as_MYSQLad() 4.建表 在APP文件夹里 models.py文件中写类(继承 models.Model)
class Userinfo(models.Model):
user = models.CharField(max_length=32)
pwd = models.CharField(max_length=32) 5.执行命令 (数据库迁移命令)
Tools ---> Run~~
python manage.py makemigrations #记录models.py中类是不是有变化 将变化的内容记录下来 记录到了 APP文件下 migrations 0001_initial.py里面
python manage.py migrate 8 .ORM
对象和关系型数据库的映射 通过操作对象的方式来操作数据库 映射关系;
类 ---> 数据表
对象 ---> 数据行
属性 ---> 字段 ORM 能做的事:
操作数据表 (建表,删表,改表)
操作数据行 ORM 的操作 :
from login import models
# 获取所有数据
models.Userinfo.objects.all() ---> Queryset类型
# 获取一条数据
models.Userinfo.objects.get(user="??",pwd="??")
get取不到数据或者取到多条数据的时候报错
#创建一条数据
models.Userinfo.objects.creat(user="??",pwd="??") 9.form表单 1.method ="post" (form表单里面 必须带有这个) action="" ,这是请求方式 和提交数据的地址
2.所有的 input标签要有name属性, name的名字要和 上面ORM 的user pwd 相同
3.有一个input 的type="submit" 或者有一个button 按钮 就可以提交form表单 10. views.py 写函数
request 跟请求相关的内容
request.method 字符串 请求方式 GET/POST
request.POST post请求提交的数据 字典
request.GET get请求提交的数据 返回值
from django.shortcuts import HttpResponse,render,redirect HttpResponse("字符串") -->页面显示的就是字符串
render(request,"模版文件的名字") -->渲染你的HTML文件返回给浏览器
redirect("/要跳转的URL/") --->重定向 告诉浏览器再向浏览器发次GET请求

大概步骤

orm介绍

一、 ORM的概念

    对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

    简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

    ORM在业务逻辑层和数据库层之间充当了桥梁的作用。

二、 ORM由来

    让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。

    几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。

    当对象的信息发生变化的时候,我们就需要对象的信息保存在关系数据库中。

    按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关

    数据,而这些代码通常都是极其相似或者重复的。

三、ORM的优势和劣势

   优势:

      ORM解决的主要问题是对象和关系的映射。它通常将一个类和一张表一一对应,类

      的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。

      ORM提供了对数据库的映射,不用直接编写SQL代码,只需操作对象就能对数据库操作数据。

      让软件开发人员专注于业务逻辑的处理,提高了开发效率。

   劣势:      

      ORM的缺点是会在一定程度上牺牲程序的执行效率。

      ORM的操作是有限的,也就是ORM定义好的操作是可以完成的,一些复杂的查询操作是完成不了。

      ORM用多了SQL语句就不会写了,关系数据库相关技能退化...

四、 ORM的总结:    

      ORM只是一种工具,工具确实能解决一些重复,简单的劳动。这是不可否认的。

      但我们不能指望某个工具能一劳永逸地解决所有问题,一些特殊问题还是需要特殊处理的。

      但是在整个软件开发过程中需要特殊处理的情况应该都是很少的,否则所谓的工具也就失去了它存在的意义

orm的操作

创建项目!!!!

  

Django 中默认的数据库是用的db.sqlite3 (ACID的关系型数据库管理系统,它包含在一个相对小的C库中);

更改这个默认的数据库为指定的MySQL数据就需要重新配置主文件夹中的settings.py 配置文件:

Django项目中使用Mysql数据库

  1,在Django项目中的srttings.py文件中,配置数据库连接信息:

  

DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "你的数据库名称", # 需要自己手动创建数据库
"USER": "数据库用户名",
"PASSWORD": "数据库密码",
"HOST": "数据库IP",
"POST": 3306
}
}

  2.在与Django项目同名的目录下的 __init__.py文件中写如下代码,告诉Django使用pymysql模块连接Mysql数据库:

引入pymysql文件时 要确定 已经下载了pymysql这个包  ( pip install pymysql   (终端执行))

import pymysql

pymusql.install_as_MYSQLdb()

  注意! 数据库迁移的时候出现一个警告:

  

WARNINGS:
?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'
HINT: MySQL's Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it.

在配置中多加一个OPTIONS参数 :

 'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"},

            model

在Django中model是你数据的单一、明确的信息来源。它包含了你存储的数据的重要字段和行为。通常,一个模型(model)映射到一个数据库表。

基本情况:

  • 每个模型都是一个Python类,它是django.db.models.Model的子类。
  • 模型的每个属性都代表一个数据库字段。
  • 综上所述,Django为您提供了一个自动生成的数据库访问API,详询官方文档链接

1,创建数据库的表:

  

# , 在APP文件夹中找到 models.py文件夹;
# , 导入该模块
from django.db import models class Userinfo(models.Model): # , 继承该类,
user = models.CharField(max_length=) # varchar() # , 添加字段
pwd = models.CharField(max_length=) # , 添加字段 def __str__(self):
return self.user # , 数据库迁移 执行两条命令:
 python manage.py makemigrations # 把models.py的变化记录下来
 python manage.py migrate # 去修改你的数据库

2,获取表中的数据,以及插入数据:

# 使用数据库中的数据往往是在视图函数中的需求, 所以需要在 APP文件中的 view.py中使用

from app01 import models # 从自己的app01的包中导入 models 模块. 该模块创建了字段

models.Userinfo.objects.all() # 此方法是获取所有的数据

models.Userinfo.objects.get(user='Fush') # 此方法获取一条字段user='Fush'的数据, 若没有符合条件的数据则报错, 如果有多条则也报错

models.Userinfo.objects.create(user='MJJ',pwd='XJJ') # 此方法是插入数据

Django ----- app 和 ORM的操作和介绍的更多相关文章

  1. Django中的ORM进阶操作

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

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

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

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

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

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

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

  5. Django中的ORM相关操作:F查询,Q查询,事物,ORM执行原生SQL

    一    F查询与Q查询: 1 . F查询: 在上面所有的例子中,我们构造的过滤器都只是将字段值与某个常量做比较.如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的 ...

  6. 在django中使用orm来操作MySQL数据库的建表,增删改

    多张表之间的三种关系:一对一,一对多,多对多 创建表 一对一 xx = models.OneToOneField(to='表明',to_field='字段名',on_delete=models.CAS ...

  7. Django框架详细介绍---ORM相关操作

    Django ORM相关操作 官方文档: https://docs.djangoproject.com/en/2.0/ref/models/querysets/ 1.必须掌握的十三个方法 <1& ...

  8. Django --- Django下载和APP创建 ORM (大概步骤)

    1,下载: 命令行: pip install django == 1.11.15 pip install -i或 源 django == 1.11.15 pycharm settings 解释器 点 ...

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

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

随机推荐

  1. 【洛谷】【二分答案+最短路】P1462 通往奥格瑞玛的道路

    在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目背景 [题目描述:] 在艾泽 ...

  2. 微信小程序开发教程 #043 - 在小程序开发中使用 npm

    本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...

  3. 静态类(C#)

    基本简介: 类可以声明为 static 的,以指示它仅包含静态成员.不能使用 new 关键字创建静态类的实例.静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 ( ...

  4. centOS中mysql一些常用操作

      安装mysqlyum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记暂时修改一下编码(添加在密码下 ...

  5. Batch Normalization原理

    Batch Normalization导读 博客转载自:https://blog.csdn.net/malefactor/article/details/51476961 作者: 张俊林 为什么深度神 ...

  6. Nginx 请求的11个阶段

    48 1:当请求进入Nginx后先READ REQUEST HEADERS 读取头部 然后再分配由哪个指令操作 2:Identity 寻找匹配哪个Location  3:Apply Rate Limi ...

  7. SpringMVC中使用Interceptor拦截器顺序

    一.简介 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验 证,或者是来判断用户是否登陆,或者是像1 ...

  8. google vimium插件的一些简单命令

    j: 向下滑动 k: 向上滑动 d: 向下一页 u: 向上一页 x: 关闭页面 r: 刷新页面 gg: 回到顶部 yy: 复制网址 t: 打开新标签 f: 显示页内指令 yt: 复制当前网址并打开 o ...

  9. 【mysql】mysql基准测试

    基准测试定义 基准测试其实是一种测量和评估软件性能指标的方法,用于建立某个时间点的性能基准,以便当系统的软硬件发生变化的时候重新进行基准测试以评估变化对性能的影响.所以对系统性能的测量,才能知道我们的 ...

  10. Awesome CLI

    请移步https://github.com/zhuxiaoxi/awesome-online-tools 欢迎一同维护这个列表 jq JSON工具 shellcheck 更好用的Shell语法检查 c ...