今天开始通过学习搭建Tango这个项目来学习Django。据说这是地球上最好的Django动手教材。原文教材: How to Tango With Django 1.7
Tango是什么?
Tango是一个用户自定义的分类网站。主要功能如下:
- 网站主页:
- 5个人气最高的网页
- 5个人气最高的分类网页
- 搜索
- 当用户选择一个分类进入:
- 类别名,访问的人数
- 相关的网页
- 可基于Bing搜索网页
和其他的流行的分类网站一样可以记录每个分类访问的人数和点赞数。
每个分类中关联的网页可以正常访问
每个分类中可以搜索和添加网页收藏。并且用户可以注册并登陆。
效果图
此图为主页面截图,主要包括了左边的分类导航,5个访问量最大的分类和网页
此图为用户选择一个分类(Python)进入后的页面。
软件框架
其中:
- 客户端(Client)就是一个浏览器(例如:Chrome,IE,Fire Fox), 这个不是我们关注的重点。
- 中间件(Middleware)就是Django框架
- 数据库(database)使用SQLite3数据库引擎
- 可以基于Bing提供的API搜索
网页和URL映射
- /rango/ 地址映射主页面
- /rango/about/ 地址映射about页面
- /rango/category/category_name/去映射每个分类网站
- /rango/etc/, 这个提供扩展功能。以后如果要加新的功能,把这个,目录替换掉就行。
实体关系图
根据下图可以很清晰地看出我们至少有两个实体: category 和page。 其中一个category 可以放多个page。