首页 > 代码库 > 【翻译】How To Tango With Django 1.5.4 第一章

【翻译】How To Tango With Django 1.5.4 第一章

1、概览

这本书的目的就是为了给你提供Django实战开发的指导,这本书主要是为学生设计的,它提供了开发并运行第一个web应用程序的详细的指导步骤,并且指导你怎么将它发布到web服务器上。

本书就是为了完善django官方指导文档,以及其他许多类的指导文档。通过把所有的东西放在一个地方,以实例驱动的方式去填补django官方指导文档的缺口,让你能更好的学习django框架。而且,这本书也介绍了很多web应用开发需要掌握的知识。

1.1为什么要使用这本书

。这本书可以节省你的时间

。这本书可以降低你的学习曲线

。这本书可以改善你的工作流程

。这本书并不是为了给你读才设计的,所以,一定要手敲代码,对上面不理解的解释要及时的搜索,提问,填补知识空缺

1.2在这本书里你可以学到什么

这本书为你展示了web应用rango的开发过程,期间,你需要做以下工作

。配置开发环境,包括pip,terminal,git等等的使用

。配置django工程,并创建一个基本的django应用

。采用django的model-view-template的设计模式

。创建数据模型,使用django提供的对象关系映射方法

。创建能使用你的数据模型的表单去动态生成web页面

。使用django提供的用户认证服务

。合并外部服务到这个应用上

。在一个web应用里面包含css和js

。设计并使用css改善体验

。使用cookie和session

。使用更多先进的技术到你的web应用当中

。使用PythonAnywhere将你的web应用发布到web服务器上

每一个章节都有配套练习,所有的代码都可以在https://github.com/leifos/tango_with_django找到

1.3学习这本书,你需要提前储备的技能有

  • Python, http://www.python.org
  • Pip, http://www.pip-installer.org
  • Django, https://www.djangoproject.com
  • Git, http://git-scm.com
  • GitHub, https://github.com
  • HTML, http://www.w3.org/html/
  • CSS, http://www.w3.org/Style/CSS/
  • Javascript
  • JQuery, http://jquery.com
  • Twitter Bootstrap, http://getbootstrap.com/
  • Bing Search API via Azure Datamarket, http://datamarket.azure.com
  • PythonAnywhere, https://www.pythonanywhere.com

1.4、Rango:开始设计

这本书主要介绍了rango的开发过程,同时也涵盖了所有应用开发需要注意的方面

1.4.1、设计简介

Rango的网站使用户能够通过用户自定义的类别浏览不同的网页。

。在这个网站的主页面,用户可以看到

     .5个最经常浏览的网页

   .5个最rango的类别

  .提供用户浏览和搜查的方式

。当一个用户浏览一个类别的页面时,页面上回展示出:

    .类别的名字,访问量和喜爱量

    .和这个类别相关的URL,并将它们展示出来

    .一些搜索功能(通过bingsearchAPI)能直接连接到这些类别

。特殊的种类,客户端回记下它的名字,该种类下面每一个页面被访问的次数,还有like按钮被点击量

。每一个种类都要有一个可点击的连接

。只有注册用户才能在某一个种类下面添加和搜索文章,所以,到达这个站点的用户要可以能注册账户

1.5、练习(根据上面的提示)

。画架构图

。画URL映射关系

。画ER图

1.6、N层架构

大部分web应用是三层架构,django 是这种形式的一个变体,因为他有一个外部服务的接口

技术分享

当我们使用django开发web应用时,我们需要使用下面的一些技术

。客户端就是一个web浏览器

。中间件就是一个django应用,会使用django内部的一个服务器进行处理

。数据库是sqlite3

。搜索API是Bing Search API.

这本书重点介绍中间件的开发,但是和其他部分有很明显的接口

1.7、框架图

首页如图所示

技术分享

 

点进去的种类页面如图所示

技术分享

1.8、页面以及URL映射

/rango/ 首页

。/rango/about/ 指向about页面

。/rango/category/<category_name>/指向各种类页面

。/rango/etc/指向拓展页面

1.9ER图

种类和页面时一对多的关系,一个种类下面可以有多个页面,但是某一个页面只能属于一个种类。

技术分享

工作设想

技术分享

 

【翻译】How To Tango With Django 1.5.4 第一章