【翻译】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 ...
随机推荐
- Selenium学习
Web测试:Selenium使用 2008-12-23 10:49 by 敏捷的水, 17940 阅读, 16 评论, 收藏, 编辑 本文包含的主要内容: Selenium简介 我应该使用哪一个Sel ...
- Quartz.net misfire实践
1.问题描述 在使用Quartz.net定时运行作业时,存在一种情况:作业错过了某次执行,当作业恢复的时候应该怎么处理?如:job1在3:50的时候应该执行的,但此刻job1处于暂停状态,而到3: ...
- BZOJ4345 : [POI2016]Korale
只考虑第一问,将珠子按照价值从小到大排序,设排序后第$i$小的为$b[i]$,定义二元组$(x,y)$表示当前珠子的总价值为$x$,用的价值最大的珠子为$y$,用一个小根堆来维护所有状态.一开始往堆中 ...
- BZOJ3748 : [POI2015]Kwadraty
打表可得结论: 1.只有2,3,6,7,8,11,12,15,18,19,...,108,112,128这31个数的k值是无穷大 2.当n足够大的时候,即当n>506时,设$f(x)=1^2+2 ...
- 【BZOJ】1189: [HNOI2007]紧急疏散evacuate(二分+bfs+网络流)
http://www.lydsy.com/JudgeOnline/problem.php?id=1189 表示完全不会QAQ.... 于是膜拜题解orz 二分时间........... 于是转换成判定 ...
- redis_查找命令
1:文件名查找 find -name "filename" filename可以用通配符 2:文件内行数查找 在vi模式下 ,刚进入vi 输入:128(linenum) 即能跳 ...
- Mac or Centos 下如何编译objective-C
#import <Foundation/Foundation.h> int main(int argc,const char *argv[]){ @autoreleasepool{ NSL ...
- 使用RBTool自动提交code review请求
使用RBTool自动提交code review请求 前言 让我们回想一下手工提交review请求的过程: 首先得用 svn diff > filename.diff 生成diff文件. 然后输入 ...
- 转载--thinkphp框架的路径问题 - 总结
转自:http://blog.sina.com.cn/s/blog_827ddd950100ulyv.html TP中有不少路径的便捷使用方法,比如模板中使用的__URL__,__ACTION__等, ...
- LeetCode | Regular Expression Matching
Regular Expression Matching Implement regular expression matching with support for '.' and '*'. '.' ...