1.1Django简介和虚拟环境配置
MVC
- 大部分开发语言中都有MVC框架
- MVC框架的核心思想是:解耦
- 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用
- m表示model,主要用于对数据库层的封装
- v表示view,用于向用户展示结果
- c表示controller,是核心,用于处理请求、获取数据、返回结果
MVT
- Django是一款python的web开发框架
- 与MVC有所不同,属于MVT框架
- m表示model,负责与数据库交互
- v表示view,是核心,负责接收请求、获取数据、返回结果
- t表示template,负责呈现内容到浏览器
注册页面展示

Django框架示意图 MVT T:template

安装虚拟环境的命令:
1.sudo pip install virtualenv #安装虚拟环境
2.sudo pip install virtualenvwrapper #安装虚拟环境扩展包
3.编辑家目录下面的.bashrc文件,添加下面两行
export WORKON_HOME=$HOME/.virtualenvs (注意=前后不要加空格)
source /usr/local/bin/virtualenvwrapper.sh
4.使用 source .bashrc 使其生效
创建虚拟环境命令:
mkvirtualenv -p python3 虚拟环境名 (如果有多个版本的python) (有问题)
- 创建:mkvirtualenv [虚拟环境名称]
- 删除:rmvirtualenv [虚拟环境名称]
- 进入:workon [虚拟环境名称]
- 退出:deactivate
- 所有的虚拟环境,都位于/home/.virtualenvs目录下
- 查看当前的所有虚拟环境:workon [两次tab键]
- 查看虚拟环境中已经安装的包
pip list
pip freeze
cd /usr/local/lib 里面放的是该虚拟机python 的版本
虚拟环境是真实python环境的复制版本
新版本安装虚拟环境
python3 -m venv text2 直接安装python3虚拟环境 如果没有venv则sudo apt install python3-venv
安装好之后在home中,下一步要激活进入text2环境 source ./text/bin/activate
在python3 的虚拟环境中安装django
pip install django -i 国内下载源
创建项目
- 命令django-admin startproject test1
- 进入test1目录查看
目录说明
- manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互
- 内层的目录:项目的真正的Python包
- _init _.py:一个空文件,它告诉Python这个目录应该被看做一个Python包
- settings.py:项目的配置
- urls.py:项目的URL声明
- wsgi.py:项目与WSGI兼容的Web服务器入口
(二)在window下使用anaconda进行Django环境的安装
anaconda+python3.5+django2.2.1
1、下载安装anaconda
python3.7.exe 只是python基础包
anaconda是python的发行版,内置了大量的扩展包,主要是数据分析人工智能相关的包。还可以搭建相互隔离的虚拟环境。
https://www.anaconda.com/distribution/
conda -V查看当前anaconda版本
2、配置提高conda的速度
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
3、创建指定python版本的虚拟环境
conda create -n mydjango python=3.5.2

4.进入虚拟环境
activate mydjango
pip freeze查看当前安装包

conda常用命令:
- 查看所有环境: conda info --envs
- 新建虚拟环境:conda create -n mydjango python==3.5.2
- 删除虚拟环境:conda remove -n mydjango --all
- 进入虚拟环境:activate mydjango
- 退出虚拟环境:deactivate
5、配置提高pip的速度
创建文件c:\users\Administrator\pip\pip.ini,写入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
6、安装django
- 进入虚拟环境 activate myjango
- 安装django :pip install django==2.2.1
- 安装ipython:pip install ipython
- 测试:1.import django 2.django.get_version()
(三)Django HELLO WORLD
实现第一个django项目案例
1、找到一个文件夹存放代码
2、在当前文件夹下创建项目
shift+右键,在此处打开命令窗口 1.先进入虚拟环境:activate mydjango 2.创建项目:django-admin startproject django01
3.使用pycharm打开project
project01项目目录
project01包
__init__.py:项目主目录的初始化文件
settings.py:项目的配置文件
urls.py:项目的路由文件
wsgi.py:项目的部署文件
db.sqlite3:未完成的sqlite数据库文件
manage.py:项目的管理文件,负责在开发模式下的项目控制,项目启动,数据库同步
补充:wsgi在python是一个接口规范,规范了服务器与框架之间的接口,目的是为了让框架与服务器都兼容。
方法的名字是application
参数environ是请求信息字典
参数start_response是响应行和响应头
方法的返回值是响应体
框架逻辑代码提供这个方法
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return '<h1>Hello, web!</h1>'
服务器调用application(x,y),显示内容为application的返回值,application 在框架中,框架也在服务端
4.设置虚拟环境中的解析器
5.使用管理文件manage.py启动服务
python manage.py runserver 可以加ip:port
如果使用ip访问还需要在setting中设置
ALLOWED_HOSTS = ['10.10.9.133']

6.访问

7.视图views
在包下创建views.py文件

注意:试图函数要传参数request ,这个参数就是django将请求信息封装成的对象
8、配置路由
url:网址
http://10.10.9.197:998/admin/login/?next=/admin/
其中http是协议,还有其他协议https,ftp等等
10.10.9.197:998是ip和端口
/admin/login/?next=/admin/是请求路径
?next=/admin/ next是参数的名字,/admin/是参数的值
路由:类似企业的前台,当有请求通过,有路由功能指向具体处理的部分。

9、访问测试

10、流程分析

补充:
(四)HTTP
http是一个web协议,规定了web浏览器客户端与服务器端之间通信的规则。
如果响应体里有html标签(img css js等资源)客户端再次发送请求获取这些资源。

请求和响应都是有格式的。
请求格式
请求行
请求头
空行
请求体
响应格式
响应行
响应头
空行
响应体
参考网址
https://www.cnblogs.com/CodingUniversal/p/7524088.html
https://blog.csdn.net/qq_30553235/article/details/79282113
CondaHttpError SSLError解决办法:
缺少SSL模块:

(五)wsgi(扩展)
1、为什么要定义wsgi协议
让python逻辑代码(框架)与服务器兼容
2、协议内容是什么
服务器中会执行application(environ,start_response),框架代码必须提供可以调用application函数/对象。
方法的名字是application
参数environ是请求信息字典
参数start_response响应函数,可以发送响应行和响应头
方法的返回值是响应体
3、如何使用
逻辑代码实现application函数
启动符合wsgi的服务器
web访问
了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是:
浏览器发送一个HTTP请求;
服务器收到请求,生成一个HTML文档;
服务器把HTML文档作为HTTP响应的Body发送给浏览器;
浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。
所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,
接收用户请求,从文件中读取HTML,返回。Apache、Nginx、Lighttpd等这些常见的静态服务器就是干这件事情的。
如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、
发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。
正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。
因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口,让我们专心用Python编写Web业务。
这个接口就是WSGI:Web Server Gateway Interface。
WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。我们来看一个最简单的Web版本的“Hello, web!”:
wsgi在python是一个接口规范,规范了服务器与框架之间的接口,目的是为了让框架与服务器都兼容。
服务器监听端口号,接收请求,给予响应。
方法的名字是application
参数environ是请求信息字典
参数start_response是响应行和响应头
方法的返回值是响应体
框架逻辑代码提供这个方法
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return ['<h1>Hello, web!</h1>'.encoding('utf-8')]
上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:
environ:一个包含所有HTTP请求信息的dict对象;
start_response:一个发送HTTP响应的函数。
服务器调用application(x,y)
mydemo.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['<h1>Hello, web!</h1>'.encode('utf-8')]
myserver.py
# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from mydemo import application
# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8888, application)
print("Serving HTTP on port 8888...")
# 开始监听HTTP请求:
httpd.serve_forever()
1.1Django简介和虚拟环境配置的更多相关文章
- Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)
Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...
- Python小世界:项目虚拟环境配置的N种方法
前言 和其他大多数现代编程语言一样,Python对包和 模块的下载.存储以及管理有其自己的一套方法.但是当我们同时开发多个项目工程的时候,不同的项目会将第三方的包存放在相同的路径下.这就意味着,如果有 ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
- 【vim】简介与基本配置
vim是一款非常强大的文字编辑软件,是各种类UNIX系统标配的文本编辑工具.相信此文的读者对它应该不会陌生,在这里就不做介绍了. 1.为什么要使用vim 在认识vim之前,我用过好多IDE:Visua ...
- twemproxy 简介、安装配置
twemproxy 简介.安装配置 http://www.xuchanggang.cn/archives/993.html
- python3 虚拟环境配置
CentOS7 python3 虚拟环境配置 1. 安装依赖包 yum -y install wget gcc epel-release git 2. 安装 Python3.6 yum -y inst ...
- Windows Python虚拟环境配置(Distribute + pip + virtualenv + virtualenvwrapper-powershell)
对于Python开发新手,很多人会迷茫那些各种名目的工具和概念,如Python2.7, Python3.3, Distribute, pip, virtualenv,Setuptools, easy_ ...
- 【教程】基于Ubuntu系统的PyTorch虚拟环境配置
目录 一.PyTorch虚拟环境配置 二.PyTorch虚拟环境使用 三.常用命令 Editor: Veagau Time: 2019/10/17 一.PyTorch虚拟环境配置 该部分操作均在终端( ...
- Python库的优雅安装及PyCharm虚拟环境配置
一.安装python库 安装python库有几种方式: 1. 使用pip命令行,如:pip install Pillow 2. 在pycharm中安装 3. 使用Anaconda批量安装常用模块 在使 ...
随机推荐
- Spring 注解编程之注解属性别名与覆盖
前两篇文章咱聊了深入了解了 Spring 注解编程一些原理,这篇文章我们关注注解属性方法,聊聊 Spring 为注解的带来的功能,属性别名与覆盖. 注解属性方法 在进入了解 Spring 注解属性功能 ...
- C++学习书籍推荐《C++标准库(第一版)》下载
百度云及其他网盘下载地址:点我 编辑推荐 <C++标准程序库:自修教程与参考手册>编辑推荐:C++标准程序库提供了一组通用类别(classes)和界面(interfaes),可大幅扩充C+ ...
- Spring Aware 到底是什么?
通过如下前序两篇文章: Spring Bean 生命周期之"我从哪里来"? Spring Bean 生命周期之"我要到哪里去"? 我们了解了 Spring Be ...
- github访问不到,登陆不上
为github添加host C:\WINDOWS\System32\drivers\etc 在host文件添加如下两行 192.30.253.112 github.com 151.101.113.19 ...
- 实现一个代码自动生成(一):模板引擎Freemarker
目录 前言 模板引擎FreeMarker 前言 在现在的开发当中,代码生成已经是必不可少的一个功能,每个公司都会有自己的一套定制的项目骨架,而实现代码自动生成,模板引擎是必不可少的,所以在这篇博客中, ...
- sublime 如何安装插件实现高效输入,如何支持markdown 语法,并实时预览
啊,一直想鼓捣markdown的语法,但是配置什么的有点麻烦.不过用起来的话,真心顺手.无需考虑格式与语法点来点去影响效率, 用心去搬砖,用脚修bug 一.初识 Package Control 首先, ...
- Excel催化剂开源第37波-音视频文件元数据提取(分辨率,时长,采样率等)
上一篇提到图片元信息Exif的提取,当然还有一类音视频文件,也同样存储着许多宝贵的元数据,那就开源到底呗,虽然自己找寻过程也是蛮艰辛坎坷的,大家看后有收获,只求多多传播下,让前人的工作可以更有价值. ...
- Android 常用 Manager的总结
Android 常用 Manager的总结 1 smsManager 发送短信 --使用方法 --SmsManager smsManager = SmsManager.getDe ...
- 《VR入门系列教程》之2---VR头显
什么是虚拟现实? 虚拟现实的目标:让人们相信真实地处于一个虚拟世界中.要达到这个目标就得让人们的大脑(负责视觉和运动感知部分)欺骗他们.不同技术合在一起才可以创造这种幻觉,包括: 全立 ...
- linux初学者-用户管理篇
linux的用户管理是非常以后工作中重要的一部分,也是linux系统安全的防线. 1.用户理解 那么到底什么是用户呢?用户就是系统使用者的身份. 用户是以怎样的方式储存在计算机中的呢?在系统中用户存储 ...