Django学习笔记(4)——Django的Admin后台管理

对于某一类网站,管理界面是基础设施中非常重要的一部分。这是以网页和有限的可信任管理者为基础的界面,它可以让你添加,编辑和删除网站内容。如果你用过Wordpress这款博客管理工具,一定对其管理后台很熟悉——用这个界面发布,管理博客和目录等等。但是管理界面有一问题:创建它太繁琐。当你开发对公众的功能时,网页开发是有趣的,但是创建管理界面通常是千篇一律的——你必须认证用户,显示并管理表格,验证输入的有效性诸如此类,这些都是很繁琐而且很重复的劳动。

Django在对这些繁琐和重复的工作进行了相当大的改进,它用不能再少的代码为你做了所有的一切。本文将介绍Django的Admin自动管理界面——它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即工作。

Django学习笔记(3)——Django的模板

学习笔记(1)中,你可能已经注意到我们在例子视图hello_view中返回文本的方式有点特别。也就是说,HTML可以直接硬编码在Python代码之中。但是直接将HTML编码到Python代码中有许多坏处:对页面设计进行的任何改变都必须对Python代码进行相应的修改,站点设计的修改往往比底层Python代码的修改要频繁得多;Python代码编写和HTML设计是两项不同的工作,大多数专业的网站开发环境都将他们分配给不同的人员(甚至不同部门)来完成。

基于这些原因,将页面的设计和Python的代码分离开会更干净简洁更容易维护。我们可以使用Django的模板系统(Template System)来实现这种模式,这就是本文要具体讨论的问题。

Django学习笔记(2)——Django的模型

在Django中,视图负责处理一些业务逻辑,然后返回响应结果。在当代Web应用中,业务逻辑经常牵涉到与数据库的交互,在后台连接数据库服务器,从中取出一些数据,然后在Web页面用漂亮的格式展示这些数据。这个网站也可能会向访问者提供修改数据库数据的方法。

在这一篇博文中,我们将以MySQL数据库为例,先看看不使用Django模型的数据库查询方法,然后开始学习Django的模型。

Django学习笔记(1)——开始Django

最近需要对某个产品展示网站的数据库做一些修改,之前也听说过各种python的Web框架,正好可以拿来学习和练练手。貌似对初学者来说,django是一个比较老牌而且功能也很强大的框架,虽然它有很多缺点,但还是决定先从这个框架入手学习。本系列是一个简单的学习笔记,供以后参考。

网站的后台原来是用PHP的CodeIgniter框架写的,数据库只有4个表,涉及最基本的产品的增删查改和切图等操作。现在换用django后,所有后台包括模板都得重写。虽然看起来工作量很大,但实际做起来也就花三天学了下django,然后再用三天把所有后台重写(不包括部署到蛋疼的SAE的繁琐过程),可见django的开发效率是如此之高。

2013年秋季学期总结

我们实验室正常来说应该是1月24日放假,但由于我之前暑假没有放假,所以调了一周加在寒假上得以提前一周放假。但由于在火车上实在是太无聊了,只好掏出电脑趴在床上写写学期总结。

Socket.IO进阶

在上一篇博文Socket.IO中,我简要介绍了Socket.IO的基本使用方法并创建了一个简单的聊天室DEMO。本篇在入门篇的基础上,继续探讨Socket.IO的进阶用法。本篇将从配置、房间、事件等方面入手,介绍一些Socket.IO中实用的API和注意事项。

Socket.IO入门

暑假的时候Heatmap项目组需要对在线即时通信和协作进行技术探索,于是我开始研究Web在线聊天的实现方式。在充分对Comet技术进行了研究之后(详见我之前写的一篇Comet简介的博文),在丁基友的提示之下决定尝试使用Socket.IO。一个是考虑以后HTML5做网络通信需要用到WebSocket现在可以提前接触一下,另外一个是这个东西的服务器端要用到Node.js,之前就对node很有兴趣正好借此提升下功力。

使用Grunt完成前端项目自动化构建工作

Java世界里的Maven提供了强大的包依赖管理和构建生命周期管理。在JavaScript的世界里,随着Node.js的流行,JavaScript原生的构建工具已经成为可能。Grunt的生态系统在迅速的成长,目前已经有上百种插件发布在NPM上可供选择。同时,任何人都可以方便的发布自己的插件到NPM上供其他人使用。通过提供通用的接口以进行代码规范检验(Lint)、合并、压缩、测试及版本控制等任务,Grunt使入门门槛大大降低了。

修改文件后Node.js应用自动重新启动

在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作。有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加载文件)以节省时间呢?一开始我是想到用grunt的watch模块来监控文件变化,但后来在网上一查,原来我们想到的,别人早已想到,并且已经做得很好。Node Supervisor正是这样一个可以实现这种需求的Node.js模块。

Git指南(2)——处理历史与错误

Git

上一篇介绍了Git的一些最常用的基本命令,如果只是日常的提交,那些命令已经够用了。但是平时写代码的时候总难免会需要查看你以前写过的代码,或者当你进行了一些误操作的时候,总会希望可以安全地撤销你的操作。本篇将介绍如何处理历史记录,在各个版本之间跳转(签出),以及如何撤销你的之前的提交、更改等操作。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器