. HTTP协议消息的格式:
. 请求(request)
请求方法 路径 HTTP/1.1\r\n
k1:v1\r\n
...\r\n
\r\n
请求体 <-- 可以有,可以没有 . 响应(response)
HTTP/1.1 状态码 状态描述符\r\n
k1:v1\r\n
Content-Type: text/html; charset=utf8\r\n
\r\n
响应正文 <-- HTML内容 . Python web框架的本质:
a. 收发socket消息 --> 按照HTTP协议消息格式去解析消息 b. 路径和要执行的函数的对应关系 --> 主要的业务逻辑 c. 字符串替换 --> 模板(特殊符号 --> 数据) . 一个完整得请求流程:
. 启动服务端,等待客户端(用户的浏览器)来连接
. 在浏览器地址栏输入URL,与服务端建立连接,浏览器发送请求
. 服务端收到请求消息,解析请求消息,根据路径和函数的对应关系,找到将要执行的函数
. 执行函数,打开HTML文件,进行字符串替换,得到一个最终要返回的HTML内容
. 按照HTTP协议的消息格式要求,把HTML内容回复给用户浏览器(发送响应)
. 浏览器收到响应的消息之后,按照HTML的规则渲染页面.
. 关闭连接 . Django昨日内容梳理:
. Django安装
pip3 install django==1.11. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ django==1.11.11 PyCharm安装的时候:
注意不要勾选那个选项 (你们懂得) . Django项目的启动:
. 命令行启动
在项目的根目录下(也就是有manage.py的那个目录),运行:
python3 manage.py runserver IP:端口--> 在指定的IP和端口启动
python3 manage.py runserver 端口 --> 在指定的端口启动
python3 manage.py runserver --> 默认在本机的8000端口启动 . PyCharm启动
点绿色的小三角,直接可以启动Django项目(前提是小三角左边是你的Django项目名) . 配置相关 项目名/settings.py文件
. Templates(存放HTML文件的配置) <-- 告诉Django去哪儿找我的HTML文件 . 静态文件(css/js/图片)
# 静态文件保存目录的别名
STATIC_URL = '/static/' # 所有静态文件(css/js/图片)都放在我下面你配置的文件夹中
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
. 注释掉setting.py中 带有 csrf 的那一行(大概45~47行) . 今日内容
. 登录的完整示例 复习:
form表单往后端提交数据需要注意哪三点: 五一回来默写 <-- 谁写错成from谁就请大家吃雪糕
. form不是from,所有获取用户输入的标签都应该放在form里面, 并且必须要有name属性
. action属性控制往哪儿提交,method一般都设置成post
. 提交按钮必须是type=submit,不能是别的类型 . GET请求和POST请求
GET请求:
. 浏览器请求一个页面
. 搜索引擎检索关键字的时候 POST请求:
. 浏览器向服务端提交数据,比如登录/注册等 . Django中的APP:
什么是APP?以及为什么要用APP? project --> 项目 (老男孩教育大学校) APP --> 应用 (Linux学院/Python学院/大数据学院/Java学院) 方便我们在一个大的Django项目中,管理实现不同的业务功能. . 创建APP的命令
. 命令行,在Django项目的根目录输入:
python3 manage.py startapp app名字 . ORM import pymysql
pymysql.connect(
...
...
) . 不同的程序员写的SQL水平参差不齐
. 执行效率也参差不齐 python语法 --自动翻译--> SQL语句 jQuery DOM
$("#d1") --自动翻译--> document.getElementById("d1") ORM:
优点:
. 简单,不用自己写SQL语句
. 开发效率高
缺点:
. 记忆你这个特殊的语法
. 相对于大神些的SQL语句,肯定执行效率有差距 ORM的对应关系:
类 ---> 数据表
对象 ---> 数据行
属性 ---> 字段 ORM能做的事儿:
. 操作数据表 --> 创建表/删除表/修改表
操作models.py里面的类 . 操作数据行 --> 数据的增删改查 不能创建数据库,自己动手创建数据库 使用Django的ORM详细步骤:
. 自己动手创建数据库
create database 数据库名;
. 在Django项目中设置连接数据库的相关配置(告诉Django连接哪一个数据库)
# 数据库相关的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 连接的数据库类型
'HOST': '127.0.0.1', # 连接数据库的地址
'PORT': , # 端口
'NAME': "day61", # 数据库名称
'USER': 'root', # 用户
'PASSWORD': '' # 密码
}
}
. 告诉Django用pymysql代替默认的MySQLDB 连接MySQL数据库
在项目/__init__.py文件中,写下面两句:
import pymysql
# 告诉Django用pymysql来代替默认的MySQLdb
pymysql.install_as_MySQLdb()
. 在app下面的models.py文件中定义一个类,这个类必须继承models.Model
class 类名(models.Model):
...
. 执行两个命令
. python3 manage.py makemigrations
. python3 manage.py migrate ORM单表的增加和查询:
. 查询
models.UserInfo.objects.all() . 增加
models.UserInfo.objects.create(name="张三")

django项目创建启动 ORM操作的更多相关文章

  1. Django学习之二:Django 项目创建 和 应用创建

    Django 项目创建 和 应用创建 创建一个Django项目 都是在相应平台的命令行环境下操作: 1. 进入用于存放项目的目录下 1.1 windows下切换目录:先进入具体的分区磁盘中如E盘就输入 ...

  2. Django项目创建02

    Django项目创建(ubuntu环境) 1.    创建项目目录,我是在root下创建了一个workspace文件夹:mkdir workspace  然后cd到该目录下 命令:django-adm ...

  3. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

  4. 路飞-后台Django项目创建

    后台:Django项目创建 环境 """ 为luffy项目创建一个虚拟环境 >: mkvirtualenv luffy """ &qu ...

  5. 后台:Django项目创建

    后台:Django项目创建 环境 """ 为luffy项目创建一个虚拟环境 >: mkvirtualenv luffy """ &qu ...

  6. Python--day61--安装Django,Django项目的启动和设置运行端口和关闭运行端口

    0,安装Django 1,Django项目的启动 2,设置运行端口和关闭运行端口

  7. 【Django笔记0】-Django项目创建,settings设置,运行

    Django项目创建,settings设置,运行 1,项目创建 ​ 通过pip下载Django以后,在cmd中cd到想要创建项目的路径,之后输入: django-admin startproject ...

  8. Django 项目创建到启动(最全最详细的第一个项目)

    一.前言 (一).概述 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架 ...

  9. django(django项目创建,数据库迁移)

    Django项目的创建与介绍 安装:pip3 install django==1.11 查看版本号:django-admin --version 新建项目: 1.切到目标目录 2.django-adm ...

随机推荐

  1. 3.AOP入门1.md

    目录 1.定义 1.1基本概念 2. 1.定义 1.1基本概念 AOP:aspect object programing面向切面编程 aop编程的要点在于关注点和切入点 关注点:指的是代码中的重复部分 ...

  2. django 运行脚本

    转自:https://segmentfault.com/a/1190000006752130 runscript 命令会首先检查每个 app 下的 scripts 目录,如果找到对应名字的脚本就会执行 ...

  3. github学习心得。哈哈,今天上传了自己的项目!

    使用github托管代码 仓库(Repository) 用来存放项目代码,每个项目对应一个仓库.如果有多个项目了就需要多个仓库 收藏(star) 仓库主页star按钮,意思为收藏项目的人数 复制克隆项 ...

  4. (转) VS2010 Addins 外接程序(插件)开发

    http://www.cnblogs.com/Leo_wl/archive/2013/03/21/2973886.html VS2010 Addins 外接程序(插件)开发 阅读目录 VS2010 A ...

  5. js对象和jquery对象互相转换

    javascript对象转成jquery对象 jquery对象转成javascript对象

  6. java批量向oracle插入数据

    由于项目需要,需要将一个6M的txt中的数据插入到oracle数据表中.txt中的数据是每行一个词.经过统计,词总数是505040.为了看起来方便,我将我的所有方法写在类入口中,数据库的信息我会用te ...

  7. hive 解jason字符串

    json 字符串为: 字段名为: json {"appId":36222,"deviceId":"12536521-7b3d-41f6-9c09-fd ...

  8. jQuery之dom操作(取赋值方法)

    取赋值相关方法:                   .html() .text() .size()                   .addClass() .removeClass() .has ...

  9. Java中for循环中的的try-catch

    异常处理 当for循环遇上try-catch @Test public void forThrow(){ final int size = 6; for (int i=0; i<size; i+ ...

  10. js实现多级复选框的交互

    功能介绍   整个复选框是包含多级,可能有父级,可能有子级,在勾选复选框时,要做两种判断: 1要判断它下面有没有子级,有子级将子级的选中状态checked变得和自己一样. 2要判断它是否有父级,有父级 ...