公司要求让我带着几个实习生做个小工具,一方面看看实习生的水平然后选一个进组里,另外一个也是需要一个管理招聘的信息和统计报告。

先说一说需求吧,之前公司招聘一直都是用Excel表格去统计状态和信息。由于Excel的功能局限还有不支持多人同时操作,于是就想做一个小系统去处理这部分工作。OK,需求很简单:

  1. 存储候选人的信息,状态,历史状态事件(这里的事件主要指review和interview)
  2. 管理招聘流程并提供统计信息。

 

先见了一下5个实习生,问了一下各自的背景。都是本地的名校硕士,今年3月份毕业。但真的只有一个学计算机的,其他都是相关专业的。而且白天要参加培训,只能余下的时间去做事情。(老板这让我怎么带?)出于实际考虑,有些人有Java,Web和HTML开发的经验,果断选择Struts+Spring+Hibernate框架后面用MySql。这个在这里就不说。

但是我还是自己上网看了一下有什么新流行的Web的开发框架,SSH已经好多年了,我习惯每次做新的东西 - 重复的东西会让我厌倦。。。于是发现了两个比较有趣的框架:

  • Play Framework:一个基于JVM的开发框架,支持Java和Scala。对于Scala很早(3-4年前就听说过了不过一直没时间去时间一下,Functional Programmming这一年用Haskell比较多个人还是很喜欢Haskell的)Scala是一个面向对象和函数编程混合的语言,而且现在很火。
  • Django (读jiang gou,D不发音):一个基于Python的Web开发自带ORM。Python是我个人比较喜欢的脚本语言,很早就开始使用。但从来没有用它构建过大型的系统,都是一些小的功能的实现,例如:发邮件,部署应用,拷贝文件等等。最大的感觉就是太方便了,自带和第三方的库应有尽有,很少需要你去自己实现什么特殊的功能。

所以我打算自己用Django去实现一下这个招聘工具(这次有没有机会去学一下Scala,下次吧Django初体验_Python)开始总先要学习一下吧,去官网看了一下 Django Project - 比较枯燥无味。让我们去搜一搜视屏吧!看视频更加形象更加节省时间。打开google搜索Django Vedio有好多好多(当然还有一部电影也叫一样的名字),这里推荐一个教你搭建简单的Wiki的教学视频,一个印度人讲解的虽然口音很重但是看一下可以很清楚的了解如何使用Django快速开发Web应用。

视频看也看了,总算对如何使用和这的框架有了基本的感觉。下面开始动手了,按照官网上面的知识一步一步来做就可以了。

  1. 安装:下载包 -> 解压缩 -> 进入目录 -> python setup.py install (确定一装了python 2.x,Djang暂时不支持3.x)
  2. 然后就是创建你的网站项目了:django-admin.py startproject m_project。这样你有可以看到目录生成了。
  3. 尝试去启动server: 进到项目目录 -> python manage.sy runserver。(或者 python manage.py runserver port_number)
  4. 尝试访问server: 打开浏览器 -> 输入 “localhost:8000” (缺省端口是8000)
  5. Cool你已经可以访问自己的server了(虽然什么都没添加)

然后就是看一下具体的目录文件结构,在项目目录下会有几个文件:

  • manage.py : manage utility, 可以用来同步数库,启动server等等。
  • m_project -> __init__.py:main
  • m_project -> settings.py:项目的设置文件,两个比较常用的(稍后会详细解释)
    • 数据库的配置
    • INSTALLED_APP的配置
  • m_project -> urls.py:配置url和方法的映射,支持多种格式
  • m_project -> wsgi.py:暂时还没有用到。

下面说一下数据库的配置,Django支持几种主流的数据库,这里我用的是MySql。(在我的Linux server上装MySql还费了我一些时间,以后要写一篇专门介绍MySql安装和配置的)确定数据库的服务正常运行,之后在setting.py中配置了数据库类型,schema名称,用户名和密码。就可以了,之后跑一下 python manage.py syncdb你会看到Django会为你创建数据表,这个时候会有提示问你要不要创建admin的表,选择yes (因为还没有编写任何model,no的话是不会创建任何表的)。注意这个我遇到了一个问题 - MySQL module无法找到,于是上网查了一下。很多解决方法多是是有easy_install或者pip去安装python-mysql蛋,可能是由于公司网络的配置这两个工具都用不了,于是自己就去pyhon的官网是手工安装了MySQL module 之后就没有问题了。

然后是INSTALLED_APP的配置,现在你还没有创建你自己的app所以这个是空的,执行python manage.py startapp m_app。之后你会看到m_app目录被创建了,并且要把m_app加到INSTALLED_APP下面。这m_app下面会产生下面的文件:

  • __init__.py:main
  • models.py:model的定义,并且是ORM的object定义
  • tests.py:测试
  • veiws.py:view的定义,相应url的映射

这些文件的具体编写,下一篇会做详细介绍,今天就到这里吧(老婆催睡觉了,三八节快乐Django初体验_Python_02)。