Tango 这个项目来源于 how to tango with django,内容比较基础,适合初学入门。官方解释说这是地球上最好的学习Django的教程。

为什么选择这个项目

省时

提供最有效的信息,让你的大脑不必过滤一些无关紧要的内容。把精力花在最核心的事情上。

优化学习路线

使用Django框架进行web开发,可以大大地节省时间和避开一些问题。但是前提是你必须知道怎么使用它们。这个项目就是让你快速掌握它们。

优化工作流程

由于Django是个web框架,所以大部分时候都需要你在框架中指定,固定的一些地方添加代码。这个对于对框架不太熟悉的新手来说是个灾难。所以项目教程创建了工作流程来一步步来引导。

练习,实战

不要只带一双眼睛来阅读,需要把他看成一个实战手册。一个一个单词敲到编辑器里,切忌copy。

可以学到什么

Django教程通过一步步开发rango应用来讲解,主要涉及的开发任务清单如下:

  • 开发环境的搭建:

    • 怎么使用Pip命令。
    • git的使用和基本命令。
    • 安装Django。
    • 怎么新建一个Django项目和APP。
    • 配置 Django, 可以服务一些静态媒体和静态媒体文件。
  • 使用Model-View-Template 的设计模式。
  • 创建数据库models和了解怎么使用框架提供的关系映射函数。
  • 放到(未完成)
  • 使用Django只带的用户验证和后台管理服务。
  • 引入一些第三方库。
  • 学习一些web开发的前端技术CSS,JavaScript和一些前端框架如:bootstrap。
  • 使用Django中的cookie和session。
  • 使用一些如AJAX的高级应用到项目中。
  • 部署项目到web服务器上。

源代码: https://github.com/leifos/tango_with_django
网站: http://www.tangowithdjango.com/rango/

优秀资源链接

  • 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/
  • JQuery, http://jquery.com
  • Twitter Bootstrap, http://getbootstrap.com/
  • Bing Search API via Azure Datamarket, http://datamarket.azure.com
  • PythonAnywhere, https://www.pythonanywhere.com

Rango需求分析

Rango这个项目虽小,但是五脏俱全。这个项目涵盖了所有Django的核心开发技术。该项目的主要功能如下:

  • 主页面:

    • 5个浏览量最高的网页。
    • 5个最流行的分类。
    • 可以搜索分类。
  • 当用户点击一个分类频道,进入该分类页面:
    • 显示分类频道名,访问人数。
    • 显示这个分类频道中收藏的网页。
    • 搜索栏(基于Bing’s搜索引擎)。
    • 可以对每个分类频道点赞。
  • 用户只有在登录成功后才能去将搜索到的网页添加到频道中。

预期效果

主页面

频道页面

软件架构

大部分应用网站都是采用的三层结构,Rango在这个基础上引用了额外的服务(Bing搜索引擎)。


当我们基于Django开发这个项目可能会遇到以下几个技术难点:

  • 用户使用不同的web浏览器(例如:Chrome,火狐,IE等)来渲染页面。
  • 中间件使用Django框架。
  • 数据库使用SQLite3。
  • 使用Bing搜索引擎。

页面和URL映射

URL主要分为以下几类:
- /rango/ 指向主页面。
- /rango/about/ 指向关于页面。
- /rango/category// 指向频道页面
- /rango/etc/ 这个是留下来方便用户扩展。

数据实体-数据关系图

rango这个框架有两个实体:category和page。一个网页可以被一个或者多个分类频道收录。当然一个频道又可以收录多个网页。

Tango学习笔记(1)相关推荐

  1. 视觉SLAM十四讲学习笔记-第五讲-相机模型

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习 ...

  2. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  3. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  6. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  7. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  8. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  9. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  10. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

最新文章

  1. 1SE rule details in CCP pruning of CART
  2. 答应我不要问TCP三次握手四次挥手
  3. 【牛客NOIP模拟】 牛牛的RPG游戏【二维偏序】【任意坐标斜率优化】【CDQ 分治】【李超线段树】
  4. Python笔记 【无序】 【五】
  5. 安卓逆向_7 --- 六种快速定位关键 Smali 代码的方法 ( 去掉 RE 广告 )
  6. 微信又出了一款新的APP
  7. 2-3:配置与环境之定制提示符
  8. python输出print(x+y)_Python语句序列“x='car';y=2;print(x+y)”的输出结果是() (2.0分)_学小易找答案...
  9. VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法
  10. 松露菌行业调研报告 - 市场现状分析与发展前景预测
  11. 不是我不想动脑筋,给我一个支点看看——看《编程之美》,玩数独,大有乐趣...
  12. [论文写作笔记] C11论文查重原理及降重
  13. typora 公式对齐_让 Markdown 写作更简单 Typora 完全使用指南
  14. Redis 配置文件重要属性介绍
  15. 云计算虚拟化特点和了解
  16. python操作Jinkins
  17. Using setJavaScriptEnabled can Introduce XSS Vulnerabilities into
  18. 优质短视频内容有哪些特质?不要迷信爆款,通俗易懂很重要
  19. Ubuntu v18.04安装网易云音乐
  20. 物联网导论【刘云浩】-笔记总结

热门文章

  1. 常用的测试用例设计方法有那些?
  2. 9106w android7,三星note4 SM-N9106W原厂刷机包4.4.4/5.0.1rom线刷包Root驱动
  3. golang 实现 key有序map
  4. vue 中动态添加组件方式
  5. 数论著作读书笔记(2013-04-14 23:22)
  6. vue2-ts-template vue2后台管理系统模板
  7. git 拉取代码库的项目到本地(window系统)
  8. winform打开PDF,显示在窗口
  9. 为WINPE加入IMDISK 内存硬盘,虚拟磁盘,加速磁盘访问
  10. 3D打印机 G代码解释