首页 > 代码库 > 【翻译】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 第一章