1-Django
1.虚拟环境
为什么需要虚拟环境
所有的第三方包安装都是直接通过pip install xx的方式进行安装的,将第三方包安装到你的系统级的Python环境中。但Django 1.10不再兼容Django 0.9的一些语法了。那么不同版本的环境相互无法维护,需要通过虚拟环境来解决这个问题。
1.virtualenv
安装virtualenv
1 virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装
2
3 pip installvirtualenv
4 pip3 install virtualenv
创建虚拟环境
1 virtualenv [虚拟环境的名字]
2
3 创建虚拟环境的时候指定Python解释器
4 virtualenv -p C:\Python36\python.exe [virutalenv name]
进入虚拟环境
1 虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,
2 第一种是Windows
3 第二种是*nix:
4
5 windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate。
6
7 *nix进入虚拟环境:
8 cd virtualenv/bin
9 source activate
10
11 一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。
退出虚拟环境
1 退出虚拟环境很简单,通过一个命令就可以完成:deactivate。
2.virtualenvwrapper
virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。
安装virtualenvwrapper
1 Linux:pip install virtualenvwrapper
2
3 编辑家目录下面的.bashrc文件,添加下面两行。
4 export WORKON_HOME=$HOME/.virtualenvs
5 export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
6 source /usr/local/bin/virtualenvwrapper.sh
7
8 使用source .bashrc使其生效一下。
9 Windows:pip install virtualenvwrapper-win
创建虚拟环境
1 mkvirtualenv [virutalenv name]
2 mkvirtualenv -p python3 [virutalenv name] # 指定Python版本
切换到某个虚拟环境
1 workon [virutalenv name]
退出当前虚拟环境
1 deactivate
列出所有虚拟环境
1 lsvirtualenv
删除某个虚拟环境
1 rmvirtualenv [virutalenv name]
创建虚拟环境的时候指定Python版本
1 mkvirtualenv --python==C:\Python36\python.exe [virutalenv name]
修改mkvirtualenv的默认路径
默认安装到电脑中C盘的当前登录用户的Envs目录下
在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。
3.pipenv
Windows安装pipenv
1 pip install pipenv
Mac安装
1 brew install pipenv
Linux安装
1 pip install pipenv
pipfile和pipfile.lock
Pipfile文件
1 url # 指定国内pip源,不然下载库会很慢
2
3 dev-packages # 开发环境
4
5
6 packages #生产环境
7 django = “*” # *表示最新版本
8
9 requires # Python版本
pipfile.lock,详细记录环境依赖,并且利用了Hash算法保证了它完整对应关系
如果需要指定Python版本的话,前提是电脑中已经安装了python2和Python3
1 pipenv --three # 泛指Python3的版本
2 pipenv --two # 泛指Python2的版本
3 pipenv --python 3.7 # 指定Python版本
进入/退出/删除虚拟环境
1 pipenv shell # 进入虚拟环境
2 exit # 退出虚拟环境
3 pipenv --rm #删除整个环境 不会删除pipfile
管理开发环境
安装在开发环境下
1 pipenv install --dev itchat
在虚拟环境中运行命令,使用run参数
1 pipenv run python manage.py runserver
pipenv有个缺点,lock不稳定而且时间非常长,所以安装包的时候记得加上–skip-lock,最后开发完成要提价到仓库的时候在pipenv lock
1 pipenv install django --skip-lock
2.Django框架介绍与环境搭建
Django框架介绍
Django也遵循MVC思想,但是有自己的一个名词,叫做MVT
Django,发音为[`dʒæŋɡəʊ],Django诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发。
Django版本和Python版本
https://docs.djangoproject.com/en/3.0/faq/install/#faq-python-version-support
Django开发原则
快速开发和DRY原则。Do not repeat yourself.不要自己去重复一些工作。
官网手册介绍
1 Django的官网:https://www.djangoproject.com/
2 Django Book2.0版本的中文文档:http://djangobook.py3k.cn/2.0/chapter01/
Django项目创建
1.用命令行的方式
1 创建项目:打开终端,使用命令:django-admin startproject [项目名称]
2 比如:django-admin startproject first_project。
2.用pycharm的方式
如果pycharm是专业版的话,可以用pycharm安装Django
运行Django项目
• 通过命令行的方式:python manage.py runserver。这样可以在本地访问你的网站,默认端口号是8000,这样就可以在浏览器中通过http://127.0.0.1:8000/来访问你的网站啦。如果想要修改端口号,那么在运行的时候可以指定端口号,python manage.py runserver 9000这样就可以通过9000端口来访问啦。
• 通过pycharm运行Django项目,在edit configurations中设置
项目结构介绍
manage.py:以后和项目交互基本上都是基于这个文件。一般都是在终端输入python manage.py [子命令]。可以输入python manage.py help看下能做什么事情。除非你知道你自己在做什么,一般情况下不应该编辑这个文件。
settings.py:本项目的设置项,以后所有和项目相关的配置都是放在这个里面。
urls.py:这个文件是用来配置URL路由的。比如访问http://127.0.0.1/news/是访问新闻列表页,这些东西就需要在这个文件中完成。
wsgi.py:项目与WSGI协议兼容的web服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。
project和app的关系
app是django项目的组成部分。一个app代表项目中的一个模块,所有URL请求的响应都是由app来处理。比如豆瓣,里面有图书,电影,音乐,同城等许许多多的模块,如果站在django的角度来看,图书,电影这些模块就是app,图书,电影这些app共同组成豆瓣这个项目。因此这里要有一个概念,django项目由许多app组成,一个app可以被用到其他项目,django也能拥有不同的app。
创建app
1 python manage.py startapp [app名称]
app中的文件
1 init.py 说明目录是一个Python模块
2 models.py 写和数据库相关的内容
3 views.py 接收请求,处理数据 与M和T进行交互
4 tests.py 写测试代码的文件(暂时不需要关心)
5 admin.py 网站后台管理相关的
应用注册
建立应用和项目之间的联系,需要对应用进行注册。
修改settings.py中的INSTALLED_APPS配置项。
Django初体验
1 from django.http import HttpResponse
2 from book.views import book
3 from move.views import move
4
5 def index(request):
6 return HttpResponse(“首页”)
7
8 def book(request):
9 return HttpResponse(“图书首页”)
10
11 def move(request):
12 return HttpResponse(“电影首页”)
13
14 urlpatterns = [
15 path(‘admin/’, admin.site.urls),
16 path(’’,index),
17 path(“book”,book),
18 path(“move”,move)
19 ]
DEBUG模式
• 开启了debug模式,那么修改代码,然后按下ctrl+s,那么Django会自动重启项目
• Django项目中代码出现了问题,在浏览器中和控制台中会打印错误信息
• 如果项目上线了,关闭debug模式,不然有很大的安全隐患
• 关闭DEBUG模式,在setting文件中,将DEBUG = False