【Django 笔记】Django简介、环境搭建、学习资源
目录
1. 学习资源
Django documentation 官方文档(推荐使用)
博客推荐:Django2.2教程
2.Django简介
2.1. MVC/MVT简介
MVC
MVC( Model-View-Controller),即模型(model)-视图(view)-控制器(controller),是一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。这种分工的思想被沿用下来,广泛应用于软件工程中,是一种典型并且应用广泛的软件架构模式。
后来,MVC的思想被应用在了Web开发方面,用业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。被称为Web MVC框架。通俗的说就是把代码分散到不同的文件中,把不同类型的文件又放到不同目录下。
MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
当前主流的开发语言如Java、PHP、Python中都有MVC框架。
- M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
- V全拼为View,用于封装结果,生成页面展示的html内容。
- C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
MVT:
Django框架遵循MVC设计,并且有一个专有名词:MVT
- M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
2.2. Django简介
Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。
目前最新版本为3.0版本。
3. 环境搭建
以Ubuntu为例搭建环境。Python3、pip3及IDE环境等请自行安装。
3.1. 虚拟环境
通常,开发时,当需要使用python的包时可以联网安装
sudo pip3 install 包名称
使用如上命令,自动安装Pypi提供的最新版本,会将包安装到/usr/local/lib/python3.5/dist-packages下。
安装指定版本时在后面加上版本号即可:
sudo pip3 install django==2.2
但是,在实际工作时,可能需要在一台机器上,同时开发多个项目,用到同一个包的不同版本。用上面的命令,在同一个目录下安装或者更新,新安装的包就会覆盖掉就安装的包,其它的项目必须就无法运行了。可以使用 虚拟环境 解决这个问题。
虚拟环境:
虚拟环境其实就是对真实pyhton环境的复制,这样在复制的python环境中,安装包就不会影响到真实的python环境。通过建立多个虚拟环境,在不同的虚拟环境中开发项目就实现了项目之间的隔离。
创建虚拟环境:
- 首先安装虚拟环境:
sudo pip3 install virtualenv #安装虚拟环境
- 安装虚拟环境扩展包:
sudo pip3 install virtualenvwrapper
其中virtualenv是一个创建独立python环境的工具。
virtualenvwrapper 时一个基于virtualenv之上的工具,它将所有的虚拟环境统一管理。
安装虚拟环境包装器的目的是使用更加简单的命令来管理虚拟环境。
- 修改用户家目录下的配置文件.bashrc,添加如下内容:
export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh
使用source .bashrc命令使配置文件生效。
- 你可以选择使用一个python解释器,创建python3虚拟环境的命令如下(两种方法都可以):
mkvirtualenv -p python路径 虚拟环境名称 # -p参数指定Python解释器程序路径 例: mkvirtualenv -p /usr/bin/python3.5 py_django mkvirtualenv -p python3 虚拟环境名称 例: mkvirtualenv -p python3 py_django
注:创建虚拟环境的几种格式
- mkvirtualenv 虚拟环境的名字 #创建出一个纯净的环境
- mkvirtualenv --system-site-packages 虚拟环境的名字 #这个会继承你本地的环境的所有的安装的第三方模块
- mkvirtualenv -p Python解释器程序路径 虚拟环境的名字 # -p参数指定Python解释器程序路径
- 小结
- 创建成功后,会自动工作在这个虚拟环境上。
- 创建虚拟环境需要联网。
- 工作在虚拟环境上,提示符最前面会出现"(虚拟环境名称)"。
- 所有的虚拟环境,都位于家目录的隐藏目录.virtualenvs下。
- 退出虚拟环境:
deactivate
- 查看所有虚拟环境:
提示:workon 空格 + 两个tab键
workon 两次tab键
- 使用虚拟环境:
提示:写出名称的前部分后,可以使用tab键补齐
workon 虚拟环境名称 例: workon py_django
- 删除虚拟环境的命令如下:
rmvirtualenv 虚拟环境名称 例: 先退出:deactivate 再删除:rmvirtualenv py_django
虚拟环境包操作
在虚拟环境中可以使用pip命令操作python包,安装命令如下:
pip install 包名称
注意:在虚拟环境中不可使用sudo pip install 包名称 来安装python包,因为这样安装的包实际是安装在了真实的主机环境上。
查看已安装的python包命令如下:
pip list
pip freeze
这两个命令都可已查看当前工作的虚拟环境中安装了哪些python包,只是显示的格式稍有不同。
3.2. 安装Django包
先按上面步骤创建一个虚拟环境。
然后安装django2.2的包,命令如下:
pip install django==2.2
拓展:
apt-get install 软件
pip install python包名
验证安装
方法1:使用pip list
命令,查看是否存在Django模块。
方法2:进入Python交互式环境(注意一定要进入刚才安装了Django的Python解释器),按下面所示查看安装版本:
>>> import django >>> print(django.get_version()) 2.2
注意:
如果是win系统,成功安装Django后,在python安装路径的Scripts文件夹可找到
django-admin.exe
文件,可将它加入操作系统环境变量中,方便调用。
4. 测试Django
4.1.在命令行创建项目
新建并进入你想创建Django项目的目录(如:/home/python/pytest/),然后在该目录下创建项目:
创建项目的命令如下:
django-admin startproject 项目名称
例:
django-admin startproject test1
这样就会在当前目录下创建一个叫做test1的Django项目。
└── test1
├── manage.py
└── test1
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
可以看到Django自动帮我们创建了一个test1文件夹,这是项目的根目录。在test1根目录中,又有一个test1目录,这是整个项目的配置文件目录(不要和同名的根目录搞混淆了),还有一个manage.py文件,是整个项目的管理脚本。
在项目根目录下,运行python manage.py runserver
,Django会以127.0.0.1:8000
这个默认配置启动开发服务器。在浏览器地址栏输入127.0.0.1:8000
,如果看到如下的界面,说明Django一切正常。可以放心使用pycharm等IDE打开项目的目录,开发项目了。
还可以使用Pycharm创建Django工程,2018以后的Pycharm版本都支持同时创建虚拟环境和Django工程。
更详尽的入门教程可参考:https://www.liujiangblog.com/blog/36/
-----end-----