首页 > 代码库 > Pyhon + Django 1.7.2 tutorial + virtualenv简单使用

Pyhon + Django 1.7.2 tutorial + virtualenv简单使用

    最近换了工作, 进的team项目中大概是个python + django的组合, python本身的语法以及特性撸过一边之后,这两天按着django官方的文档倒腾了几天, 文档非常详细,本人英语水平也就那样,基本没什么压力,建议像我一样的新手直接去看官方文档,首先内容绝对是更新到了最新的版本,内容组织渐进有序,当然咯,就算按照文档一步一步来,倒腾的过程中总归会碰到些问题,这边博文权当给个记个流水账以后能翻翻或者说有更深的理解了顺便来update下,看看自己的一些思考方式,若果顺便也能给其他人带来点东西就算锦上添花了,扯回正题:

    博文的内容人品保证基本都个人学习后消化后的纯个人理解的东西,个人也不喜爱当一名大自然的文档搬运工,内容可能会水,有不妥当甚至错误的地方,希望大家指正和理解。

     个人的python运行环境是(windows 7 + python 2.7.9 + django 1.7.2)

    Django tutorial:

    django官方的tutorial文档的前七部分(https://docs.djangoproject.com/en/1.7/intro/tutorial01/)基本内容是以django的安装,创建项目,django框架自带的admin管理后台,创建自己的app,编写自己的单元测试,如何编写模块化可复用的app并打包和安装,在这儿大致的过一遍一些关键的部分:

  • 创建项目和创建app是两码事,他们之间有一个包含超集的关系,app可以粗暴的看做是一个可复用的模块,如果脱离django的范畴和python自带的一些模块差不多
  • 安装好python之后,python全局环境变量已经设置好,pip,easy_install等包管理器都已经默认安装或者设置好
  • 项目中默认使用的是sqlite,如果想查看项目中的db数据,可以下载一个SQLite manager 的火狐扩展(其他的
  • django 1.7.2里面models更改之后,需要手动的添加到migrations里面然后执行相应的migrate命令让更改生效。在app的根目录下面能看到有名为migrations的文件夹,里面包含的xxxx_initial.py可查看,是生成对应db的脚本(抽象的非sql脚本,更好理解)
  • django自带一套orm,抽象与db交互的逻辑,和.net的entity framework类似,整个model+orm的组合类似mvc里面的【Model】角色
  • django的view里面的方法起着mvc中【Controller]的角色,读取数据,呈现页面,可能初次接触看起像觉得像mvc里面的【View】
  • django里面的页面模板类似mvc里面的【View】,包含一些自己的语法,主要是起着数据占位符,简单的混合逻辑等等起动态化的作用(和jade或者asp.net mvc的razor很像)
  • 在打包发布自己polls app的时候,默认polls肯定会安装到全局的python执行环境中(C:\Python27\Lib\site-packages),在测试自己的包是不想污染全局环境,最好是用pip + virtualenv
    创建自己的隔离python执行环境(虚拟,沙盒什么的怎么叫都行)

    virtualenv的安装和搭建:

    windows环境下,安装virtualenv只需执行 “pip install virtualenv”即可,执行完成后可以在全局的python环境中找到。

    在windows下推荐cmd命令行比较那啥...,推荐一款命令行工具powercmd(付费软件)

    做完django tutorial之后,大家应该已经有一个mysite 的project和一个打包好的polls包,安装polls包会污染全局环境,我们用上virtualenv创建一个名叫myEnv的隔离环境,然后将我们已经创建好的mysite项目运行在myEnv中,并安装我们打包好的polls让整个site重新运行起来

    技术分享

    进入我们创建安放虚拟环境的目录,激活隔离环境(激活隔离环境其实就是设置命令行执行环境上下文),在接下来安装django扩展其实没有任何关系,直接cd到scripts目录运行pip脚本命令就行。

    技术分享

    将安装polls包到myEnv隔离环境中,并将mysite project在隔离环境中运行起来,查看运行效果:

    技术分享

    技术分享

    至此,整个带django1.7.2的隔离环境准备好,手动安装了polls包,成功运行mysite项目。第一次写技术博文,快写死了,写到加班,妈蛋!再啰嗦两句,创建好虚拟隔离环境之后,完全可以想象自己在系统的python环境里面折腾,你无论安装django,自己的打包的扩展,或是任何第三方的包都行,他提供了你运行自己的项目的一个上下文,一个温暖你的怀抱,和范爷被剪的怀抱一样温暖。

 

 

参考资料:

    https://docs.djangoproject.com/en/1.7/intro/

    http://virtualenv.readthedocs.org/en/latest/userguide.html

    http://virtualenv-chinese-docs.readthedocs.org/en/latest/

 

Pyhon + Django 1.7.2 tutorial + virtualenv简单使用