使用Django框架进行Python web项目开发,首先需要建立一个虚拟工作环境,虚拟环境是系统的一个位置,你可以在其中安装包,与其他Python包隔离,与其他项目分离,并且容易把项目部署到服务器。
---- 隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。
-----为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。在服务器上都不用安装virtualenv,直接将virtualenv创建的目录拷贝到服务器,修改路径,进行虚拟环境迁移就可以用了。
虚拟环境的第三方包都是安装在env/Lib/site-packages/目录里,而不是在系统的Python的Lib/site-packages目录里。
virtualenv 创建的虚拟环境与主机的 Python 环境完全无关,主机配置的库不能在 virtualenv 中直接使用。需要在虚拟环境中利用 pip install 再次安装配置后才能使用。
下面记录主要操作记录
需要安装virtualenv包。
为虚拟环境新建一个目录,命名为learning_log,cd到这个目录下,运行以下命令:
运行完毕,在目录learning_log下,会建立一个 11_env的文件夹和文件:
只有激活了虚拟环境,才能在环境中安装包,并使用已经安装好的包。
如上图所示,环境名包含在 括号中,说明环境处于活动状态。
关闭运行虚拟环境的终端,虚拟环境也就不再处于活动状态。
也可以通过命令来关闭虚拟环境:
需要激活虚拟环境。
安装完毕,这些包都在虚拟环境目录下:
这样才是新建名字叫做 learning_log 的项目。命令末尾的句点让新项目使用合适的目录结构,这样开发完毕可以轻松地将应用程序部署到服务器。
创建完毕,在虚拟环境下有了这些目录:
通过dir 命令可以查看:
如上图所示,项目目录下包括4个文件,最主要的是 settings.py, url.py, wsgi.py
settings.py:指定Django如何与你的系统交互以及如何管理项目;
url.py:指定Django应创建哪些网页来响应浏览器请求。
wsgi.py:Web服务器网关接口(web server gateway interface),帮助Django提供它创建的文件。
Web应用程序的相关信息都存储在数据库中。Django会使用SQLite数据库,SQLite是一种使用单个文件的数据库,是编写简单应用程序的理想选择。
出现这个错误,因为有其他的进程占用了8000端口,查看是什么进程用了8000端口:
原来是酷狗音乐占用了这个端口:
Django服务器运行之后,在浏览器输入:localhost:8001,Django服务器生成相应的网页,并将其发送给浏览器。