【翻译】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 第一章的更多相关文章
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- 【翻译】How To Tango With Django 1.5.4 第二章
2.开始吧! 准备好两个关键的安装包 Python version 2.7.5 Django version 1.5.4 2.1熟悉你自己的系统(我的是windows) 略 2.2安装软件 2.2.1 ...
- 《Django By Example》第一章 学习笔记
首先看了下目录,在这章里 将会学到 安装Django并创建你的第一个项目 设计模型(models)并且生成模型(model)数据库迁移 给你的模型(models)创建一个管理站点 使用查询集(Quer ...
- 【翻译】How To Tango With Django 1.5.4 第五章
5数据模型和数据库 一个模型就是一个描述你数据表的python对象.不用再通过SQL来操作数据库,而是使用python对象来操作数据库. 5.1rango要求 ...一个目录下面有多个下面 ...一个 ...
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...
- 《Django By Example》第九章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag 注:哈哈哈,第九章终于来啦 ...
- Tango with Django 1.9 中文——1.概述
译者注:英文书地址https://leanpub.com/tangowithdjango19/,作者为Leif Azzopardi 和 David Maxwell.本文仅为尝试.学习和交流,著作权利归 ...
- Tango with django 1.9 中文——3.Django基础
让我们开始运用Django.本章主要是给你一个关于创建新项目和新应用过程的概览.在本章的末尾,你将建立起一个简单的由Django驱动的网站. 3.1 配置测试 让我们测试以下你的Python和Djan ...
- 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...
随机推荐
- js:数据结构笔记1---数组
JS中数组: 只是一种特殊的对象,比其他语言中效率低: 属性是用来表示偏移量的索引:在JS中,数字索引在内部被转化为字符串类型(这也是为什么写对象属性的时候可以不叫引号),因为对象中的属性必须是字符串 ...
- POJ2699 The Maximum Number of Strong Kings(最大流)
枚举所有Strong King的状态(最多1024种左右),然后判断是否合法. 判定合法用网络流,源点-比赛-人-汇点,这样连边. 源点向每场比赛连容量为1的边: 如果一场比赛,A和B,A是Stron ...
- DataGrid排序
DataGrid是ASP.NET中非常重要的一个控件.它能方便的让我们实现编辑.排序功能:但是排序功能默认的是升序(ASC),能不能让DataGrid同时实现升降序排列呢?这篇文章将给你一个比较好的解 ...
- Photoshop: 机关单位公章
机关单位公章的大小与机构的级别有关,级别越高的公章越大,一般直径在3.8-4.2cm,很少有用4.5cm或3.4cm的.但企业的公章一般都很大. 首先点击文件新建,新建一个500×500像素(像素大小 ...
- 仿windows8 开始菜单 实现HubTileBase 以及仿鲜果联播实现 PulsingTile(脉冲磁贴)
http://blog.csdn.net/wangrenzhu2011/article/details/8750820 (转) 本文章将以如何实现 开始菜单上的tile 为主. 该控件代码经过测试可直 ...
- 【BZOJ】3289: Mato的文件管理(莫队算法+树状数组)
http://www.lydsy.com/JudgeOnline/problem.php?id=3289 很裸的莫队... 离线了区间然后分块排序后,询问时搞搞就行了. 本题中,如果知道$[l, r] ...
- elasticsearch2.2 集群搭建各种坑
目前生产环境的es版本是1.0版本,需要升级到最新的2.2版本,于是在测试环境进行部署集群测试,在测试过程中遇到的坑相当多,下面详细介绍下. 1. 版本升级到2.2后,必须建一个单 ...
- fetch API
一.什么是fetch? fetch的作用类似于XMLHttpRequet的作用,用于异步请求网络,其提供的API更加的完善. fetch提供了Request和Response对象的定义,用于自定义网络 ...
- JAVA图片处理--缩放,切割,类型转换
import java.io.*; import java.awt.*; import java.awt.image.*; import java.awt.Graphics; import java. ...
- C++ Generate Rand Number Array by "srand()" 生成随机数
在C++中,我们有时想生成一个由随机数组成的数组,而且随机数的范围也可由我们来设定.那么我们就要用到srand()函数配合rand()来使用,参见如下代码: #include <vector&g ...