Django第一天笔记

1、网站架构演变
1.1 网站访问流程
1.2 网站架构演变
1.2.1 单一应用架构
场景:路边摊的手抓饼
需求: 需求单一
功能:
需求--配菜--制作 一个人搞定
效率:
对单个需求来说:快

特点:
需求:单一应用
服务: 所有服务都部署在一台机器上
效率:用户量少的情况下,访问快
开发快
优点:
成本低、开发速度快
缺点:
用户访问量不能太大
开发技术关键点:
all in one

1.2.2 垂直应用架构
前提:
随着人流量的增多,效益越来越好
场景:店的手抓饼
需求:需求种类多
功能:
需求
配菜
制作
每个步骤由专人负责,速度快
效率:

前提:
随着用户访问量的增多,效益越来越好
特点:
需求:功能模块逐渐增多
服务:每个服务专用服务器
效率:访问量大

优点:
技术集中、效率高
确定:
服务模块间需要交流,需要我们开发相应的接口

开发技术关键点:
MVC

1.2.3 分布式应用架构
开发技术关键点:RPC
1.2.4 流式计算应用架构
开发技术关键点:SOA


2、django基础知识
2.1 django简介
django是什么
2003年的秋天,2个小朋友,2005开发源码

django就是 
基于python语言开发的 全栈一体式的 web框架

基于MVC框架演变和精简后的一个web框架,他叫MTV



常见的web框架:
django、flask、tornado


为什么学django
技能提升
面试有优势

2.2 MVC & MTV
MVC
mvc是什么
M model 模型
     数据访问层、跟数据库打交道
V view 视图
展示数据
C controller 控制器
控制用户输入,给用户返回数据,

mvc的访问流程

1、用户发起请求
2、请求交给controller
3、如果请求需要数据,那么controller调用model
4、model去和数据库进行交互,获取相应的数据,然后将数据返回给控制器
5、控制器去view获取展示数据用的模板等文件
6、controller将数据填充模板当中,形成一个完整的web页面
7、将web页面返回给用户



MTV

mtv是什么
django的框架
mtv和mvc到底有什么区别:
1、mvc的c融合到了django的代码中
2、mvc的v拆分成了
数据逻辑 view
数据展示 template
3、model没有变化

mtv框架
M model 模型
数据访问层、跟数据库打交道
V view 视图
数据展示【数据逻辑控制】
1、调用模型类,
2、调用模板,填充数据
T template 模板
各种模板文件


2.3 django的访问流程
1、用户发起请求
2、请求转交给view视图
3、如果涉及到数据,那么view调用相应的model,进行数据处理
4、model从数据库中获取数据,然后返回给view
5、view要展示数据,那么需要存放数据的模板
6、view调用template,获取模板文件,
7、将数据填充到模板文件中,形成一个完整的web页面
8、将web页面返回给用户


3、环境部署
需求:
配置一个django项目的开发环境

条件:
电脑、人、网 、电

分析:
2、python环境
3、问题:
多项目使用同一模块的不同版本
4、解决方案:
5、python虚拟环境
1、django环境部署
6、django软件安装
7、项目开发工具-pycharm
8、安装pycharm
9、基本配置
11、项目简单操作
12、应用简单操作
10、django项目的配置
13、数据库配置
14、templates配置
15、view配置
16、项目整体测试


3.1 python虚拟环境
安装软件
安装虚拟软件
apt-get install python-virtualenv
检查:
# which virtualenv
/usr/bin/virtualenv
虚拟环境的简单操作
创建
virtualenv -p /usr/bin/python2.7 venv
进入
source venv/bin/activate
退出
deactivate
删除
rm -rf venv



3.2 django环境部署
安装django
解压软件
tar xf Django-1.10.7.tar.gz
查看帮助
cd Django-1.10.7/
INSTALL 或者 README
安装
python setup.py install
检查:
which django-admin

python类型软件安装流程
普通的
解压 -- 安装
特殊的
解压 -- 编译 -- 安装
编译:
python setup.py build

python项目基本操作
创建项目
django-admin startproject itcast
启动项目
cd itcast
python manage.py runserver
关闭项目
Ctrl + c

查看manage.py文件帮助信息
python manage.py --help

python应用基本操作
创建项目
python manage.py startapp test1
注册项目
INSTALL_APPS =[
'test1',
]

3.3 开发工具安装
安装pycharm
解压

安装

基本配置


3.4 项目环境配置
需求:
数据库调整为mysql

分析:
1、安装mysql
2、字符编码配置
3、创建数据库
4、django和mysql通信的第三方模块
apt-get install libmysqlclient-dev python-dev
pip install mysql-python
4、django配置数据库的连接
引擎、数据库名、连接用户、主机、端口、密码
5、数据的迁移
生成迁移
执行迁移
应用名_类名(小写)

6、测试查看

安装数据

apt-get install libmysqlclient-dev python-dev


template配置

4、django小示例
需求:
一个页面直接展示所有书籍

分析:
数据部分:
数据是存放在数据库
数据有模型类来配置
给数据添加数据

模板部分
模板文件
标签:
变量标签 {{变量名}}
模板文件中只有变量名,

循环标签
{%for 条件%}
...
{%endfor%}
从数据库中获取数据
将数据填充到模板中

url配置部分:
127.0.0.1:8000/booklist/

view配置部分



数据部分

class BookInfo(models.Model):
    btitle = models.CharField(max_length=20)
    def __str__(self):
        return self.btitle
我们定义一个书籍的模型类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Java]java反射随笔

类是面向对象的灵魂,一切事物都可以以类来抽象。 在java使用过程中,我们可能会经常用到一个反射的知识,只是别人都封装好的,如jdbc的加载驱动类有一句Class.for(“…jdbc…”).newInstance.当然框架也是离不开了反射,s…

模型的选择与调优

模型的选择与调优 1 交叉验证 1.1 交叉验证过程 交叉验证:为了让被评估的模型更加准确可信 交叉验证的意义:为了使一部分数据即当成验证集,也做过训练集,更加准确得出准确率,把最后的准确率取平均值。 注意&#…

Django创建图书管理项目(完整版

一、创建项目test1及应用booktest 创建应用booktest 二、安装应用 在test1/settings.py中INSTALLED_APPS下添加应用的名称就可以完成安装 初始项目的INSTALLED_APPS如下图: 在元组中添加一个新的项,当前示例为booktest booktest, 三、设计模型 1.定义模型…

05.序列模型 W3.序列模型和注意力机制

文章目录1. 基础模型2. 选择最可能的句子3. 集束搜索(Beam Search)4. 改进集束搜索5. 集束搜索的误差分析6. Bleu 得分7. 注意力模型直观理解8. 注意力模型9. 语音识别(Speech recognition)10. 触发字检测(Trigger Wor…

显示桌面图标不见了

在Windows操作系统中,任务栏(快速启动栏)中的显示桌面图标的实际位置是“C:\\Windows\\System\\显示桌面.scf”。快速启动是通过放在“C:\\Windows\\Application Data\\Microsoft\\Internet Explorer\\Quick Launch\\显示桌面.scf”实现的。当…

决策树-分类算法

决策树-分类算法 1 认识决策树 决策树是一种基本的分类方法,也可以用于回归。我们一般只讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的集合。在决策树…

在Visual Studio中利用NTVS创建Pomelo项目

刚看新闻,才知道微软发布了Node.js Tools for Visual Studio(NTVS),受够了WebStorm输入法Bug的困扰,这下终于可以解脱了。以Pomelo为例,运行命令:pomelo init pomelo_test,生成一个默…

LeetCode 834. 树中距离之和(树上DP)*

文章目录1. 题目2. 解题1. 题目 给定一个无向、连通的树。树中有 N 个标记为 0...N-1 的节点以及 N-1 条边 。 第 i 条边连接节点 edges[i][0] 和 edges[i][1] 。 返回一个表示节点 i 与其他所有节点距离之和的列表 ans。 示例 1: 输入: N 6, edges [[0,1],[0,2],[2,3],[…

Django第二天笔记

一、安装虚拟环境 安装虚拟环境软件 pip3 install virtualenv 安装虚拟环境扩展包 pip3 install virtualenvwrapper 配置家目录下的环境配置文件 .bashrc,添加如下内容 export WORKON_HOME$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 环境变量生效 source…

随机森林-集成学习方法(分类)

随机森林-集成学习方法(分类) 1 集成学习方法 集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测…

05.序列模型 W3.序列模型和注意力机制(作业:机器翻译+触发词检测)

文章目录作业1:机器翻译1. 日期转换1.1 数据集2. 用注意力模型进行机器翻译2.1 注意力机制3. 可视化注意力作业2:触发词检测1. 数据合成:创建语音数据集1.1 听一下数据1.2 音频转频谱1.3 生成一个训练样本1.4 全部训练集1.5 开发集2. 模型2.1…

线性回归分析-回归算法

线性回归分析-回归算法 1 回归算法 机器学习中监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义的。回归算法用于目标是连续的,在指定区间内可以是任意一个数值,针对的是数值型的样本&#xff0…

占位

占位 转载于:https://www.cnblogs.com/CharmingDang/p/9663915.html

Django入门 -- 框架操作基本流程

-- 入门 123456789# Django开发流程:# 1.创建虚拟环境;# 2.安装django;# 3.创建项目;# 4.创建应用;# 5.在models.py中定义模型类,为视图提供数据;# 6.定义视图,处理浏览器请求# 7.配置URL# 8.创…

拟合与岭回归

目录 拟合与岭回归 1 什么是过拟合与欠拟合 2 模型复杂度 3 鉴别欠拟合与过拟合 4 过拟合解决方法 5 岭回归(Ridge) 6 模型的保存与加载 拟合与岭回归 1 什么是过拟合与欠拟合 通过下面两张图来解释过拟合和欠拟合: 左图中机器通过这…

LeetCode 778. 水位上升的泳池中游泳(二分查找+dfs)

文章目录1. 题目2. 解题1. 题目 在一个 N x N 的坐标方格 grid 中,每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度。 现在开始下雨了。当时间为 t 时,此时雨水导致水池中任意位置的水位为 t 。 你可以从一个平台游向四周相邻的任意一个平台&a…

nyoj_66_分数拆分_201312012122

分数拆分 时间限制:3000 ms | 内存限制:65535 KB难度:1描述现在输入一个正整数k,找到所有的正整数x>y,使得1/k1/x1/y. 输入第一行输入一个整数n,代表有n组测试数据。 接下来n行每行输入一个正整数k输出按顺序输出对应每行的k找…

pycharm快捷键、常用设置、配置管理

内容包含: pycharm学习技巧 Learning tips PyCharm3.0默认快捷键(翻译的) pycharm常用设置 pycharm环境和路径配置 Pycharm实用拓展功能:pycharm中清除已编译.pyc中间文件 python2转python3最快方式 [pycharm版本控制和数据库管理][PyCharm中的那些实用功…

逻辑回归-分类算法

目录 逻辑回归-分类算法 1 概述 2 sigmoid函数 3 逻辑回归公式 4 逻辑回归的损失函数 5 均方误差与对数自然损失对比 6 sklearn逻辑回归API 7 案例 8 总结 逻辑回归-分类算法 1 概述 逻辑回归(Logistic Regression),简称LR。它的特…

LeetCode 1220. 统计元音字母序列的数目(DP)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串: - 字符串中的每个字符都应当是小写元音字母(a, e, i, o, u) - 每个元音 a 后面都只能跟着 e - 每个元音 e 后面…