1. # 1.web应用
    # 2.CS和BS架构
    # 3.http协议
    # 特点: 1.接受请求正在处理
    # 2.请求处理完毕
    # 3.需要进行附加操作以完成请求
    # 4.服务器无法处理请求
    # 5.服务器处理请求出错
    # 请求头:
    # 请求首行 get / http /1.1\r\n(请求方式,请求协议,协议版本)
    # key:value\r\n (请求信息)
    # key:value\r\n
    # \r\n (请求体的内容)
    # 响应头:协议 状态码 描述信息
    # 4.python中主流web框架
    # a: socket
    # b: 路由和视图函数关系匹配
    # c: 模板渲染
    # django a用的别人的 b自己写的 c用的别人的
    # flask a用的别人的 b用的别人的 c用的别人的
    # tornado a自己写的 b自己写的 c自己写的
    # web2.py 小型框架
    # 5.django的安装与使用
    # 1.pip3 install django == 1.11.9
    # 2.django-admin startproject 项目名字
    # 3.python36 manage.py startapp app名字
    # 4.pycharm打开项目在,
    # 5.执行项目:python3 manage.py runserver 127.0.0.1:8006
    # python3 manage.py runserver 8006
    # python3 manage.py runserver
    # 6.目录结构:
    # 1.工程名的文件夹:settings:全局配置
    # urls:路由跟视图函数映射关系
    # app名字的文件夹:views:视图函数 models:orm关系映射
    # 今日内容:
    # 1.django中APP的概念:
    # 大学-----------项目
    # 信息学院----------app01
    # 物理学院----------app02
    # ***强调***创建了app,要在配置文件中注册
    # ...
    # 2.模板路径配置:
    # 1.templates文件夹
    # 2.settings里注册一下
    # 3.静态文件配置:
    # 1.STATIC_URL = '/static/'
    # 2.创建一个static文件夹
    # 3.STATICFILES_DIRS=[
    # os.path.join(BASE_DIR,'static'),创建的文件夹路径(可以写多个)
    # ]
    # 4.完整版登陆功能
    # 1.login.html
    # //--重点--//1.action:提交到后台的地址三种写法:
    # (1)http:127.0.0.1:8000/login
    # (2)/login/ 推荐用
    # (3)空
    # 2.method post方式
    # 3.<input type="submit" value="提交">或<button></button>
    # type不可以是button
    # <form action="http://127.0.0.1:8000/login" method="post">
    # <p>用户名: < input type = "text" name = "user" ></p>
    # <p>密码: < input type = "text" name = "pwd" ></p>
    # <button>提交</button></form>
    # 2.视图层:
    # (1)request.method-----前台提交过来请求的方式
    # (2)request.POST(相当于字典)----post形式提交过来的数据,(http请求报文的请求体中)
    # (3)request.POST.get('name')----推荐用get取值(取出列表最后一个值)
    # (4)request.POST.getlist('name')----取出列表所有的值
    # (5)前台get方式提交的数据,从request.GET字典里取
    # 3.链接数据库(防止注入,推荐一下写法)
    # cur.execute('select * from user where name=%s and password=%s',[name,pwd])
    # 5.get请求和post请求
    # get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制)
    # post:往后台提交数据
    # 6.新手三件套总结
    # 1.render--返回页面
    # 默认会去templates里找,注意路径
    # 2.redirect--重定向
    # 3.HttpResponse
    # 本质都是返回HttpResponse的对象
    # 7.orm介绍
    # 1.ORM即Object Relational Mapping,全称对象关系映射。
    # 优点:
    # 1.不用写sql, 不会sql的人也可以写程序
    # 2.开发效率高
    # 缺点:
    # 1.可能sql的效率低
    # 3如何使用:
    # 如果连接mysql: 在setting里配置:
    # 'default': {
    # 'ENGINE': 'django.db.backends.mysql',
    # 'HOST': '127.0.0.1',
    # 'PORT': 3306,
    # 'USER': 'root',
    # 'PASSWORD': 'admin',
    # 'NAME': 'lqz',
    # }
    # 在app下的__init__.py里写:
    # import pymysql
    # pymysql.install_as_MySQLdb()
    #
    # 4.django - orm:
    # 1.不能创建数据库(需要手动创建数据库)
    # 2.可以创建数据表
    # 3.可以创建字段
    #
    # 5.数据库迁移
    # 1.python3 manage.py makemigrations - ---记录一下数据库的变化
    # 2.python3 manage.py migrate - ---将变化同步到数据库中
    # flag = models.User.objects.filter(usr=name, pwd=pwd).first() 判断账号密码是否正确
    # dic = models.Book.objects.all() 从数据库去全部的数据
    #            models.Tb1.objects.filter(name='seven').delete() # 删除指定条件的数据
    # 改   models.Tb1.objects.filter(name='seven').update(gender='0')  # 将指定条件的数据更新,均支持 **kwargs
    #             obj = models.Tb1.objects.get(id=1)
    #             obj.c1 = '111'
    #             obj.save()                                                 # 修改单条数据   

DAY65的更多相关文章

  1. day65——day69

    目录 DAY65 课堂笔记 1.vue实例 2.插值表达式 3.文本指令 4.面向对象js 5.js函数补充 6.事件指令 7.属性指令 DAY66 课堂笔记 1.表单指令 2.条件指令 3.循环指令 ...

  2. day65 request对象,以及方法,response对象,render,redirect

    这里的都是我们会频繁使用到的,用得多了自然就会了,我们写项目都是少不了这些用法的,所以这就把老师的博客粘过来就好了, Request对象 官方文档 属性 所有的属性应该被认为是只读的,除非另有说明. ...

  3. python 全栈开发,Day65(MySQL练习题,参考答案)

    一.MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号.ps:针对的是自己的生物成绩比物理成绩高,再 ...

  4. python 全栈开发,Day65(索引)

    索引 一.索引的介绍 数据库中专门用于帮助用户快速查找数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置吗,然后直接获取. 二 .索引的作用 约束和加速查找 三.常 ...

  5. day65 Django模板语言

      常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点(.)在模板语言中有特殊的含 ...

  6. web应用与web框架(Day65)

    Web应用 对于所有的web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 import socket def handle_request(client): ...

  7. (day65、66)Vue基础、指令、实例成员、JS函数this补充、冒泡排序

    目录 一.Vue基础 (一)什么是Vue (二)为什么学习Vue (三)如何使用Vue 二.Vue指令 (一)文本指令 (二)事件指令v-on (三)属性指令v-bind (四)表单指令v-model ...

  8. (day65)作业

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. day65—angularJS的学习笔记1

    转行学开发,代码100天—2018-05-20 AngularJS的引用示例: <!DOCTYPE html> <html> <head> <title> ...

随机推荐

  1. CSS-网站导航栏标题之间的分隔符

    在一个网页上,尤其是导航栏文字与文字之间,大多数情况下都会有分隔符,也就是文字之间的一个小竖线,这个小小的分隔符,每个网站都有不同的样式,常用的写法就是用标签的边框,这个写法也比较简单,用起来也方便, ...

  2. ES6——TDZ(暂时性死区)

    暂时性的死区(Temporal Dead Zone),简写为 TDZ: 只要块级作用域里存在let命令,它所声明的变量就绑定这个区域,不在受外部的影响 let 和 const 声明的变量不会被提升到作 ...

  3. 在vue项目中,通过v-for循环,动态添加后台返回的事件

    一.现有一种业务需求,前端的某个元素添加点击事件,但事件是后台返回的(不确定),需要动态添加,下面是具体思路: .假定后台返回数据为如下格式: list: [ { name: '李寻欢', kungF ...

  4. 2018-10-19 00:13:35 ArrayList

    获取集合元素的长度用的是size方法. 传入Object类型的值,返回boolean值的remove方法,含义是判断是否删除成功. 传入索引值的remove方法,返回的是被删除的元素. 修改值得set ...

  5. python的类基础

    python类的基础: 1,面向对象的基本概念 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的 ...

  6. Python pip 安装与使用

    pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具. Python 2 ...

  7. Google搜索引擎

    一.基本搜索 逻辑符 与(空格).或(OR).非(-). ""全匹配搜索 加入双引号表示完全匹配搜索 *通配符 二.高级搜索 intitle:只搜索网页标题(即html的title ...

  8. redis 持久化与备份策略

    持久化(persistence) 本文是 Redis 持久化文档 的中文翻译. 这篇文章提供了 Redis 持久化的技术性描述,推荐所有 Redis 用户阅读. 要更广泛地了解 Redis 持久化,以 ...

  9. 【Ansible 文档】【译文】模式

    Patterns 模式 Ansible中的模式是指我们如何决定那些机器执行管理操作.这里意味着与那些主机通信,但是对于playbook,它是指哪些主机应用特定的配置或执行特定程序. 我们将重温一下In ...

  10. 6.基本数据结构-双端队列(Deque)

    一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合.它有两个端部,首部和尾部,并且项在集合中保持不变. - 特性:deque 特殊之处在于添加和删除项是非限制 ...