Django第一天笔记

来源:互联网 发布:bcg矩阵是什么意思 编辑:程序博客网 时间:2024/06/15 05:39
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是什么
Mmodel 模型
     数据访问层、跟数据库打交道
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框架
Mmodel 模型
数据访问层、跟数据库打交道
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
我们定义一个书籍的模型类