Django / MacOS 高效开发流程更新
我在Mac上愉快地开发应用程序(特别是Django)已经好几年了。在这个过程中,我一直在寻找提高工作效率的方法,也喜欢阅读其他开发者的经验分享。现在轮到我来回馈了。这是我对之前帖子的修订,经过一段时间的实践和经验积累。
工具清单
- 一台装有XCode的Mac
- 一套好的GNU工具(coreutils,findutils,diffutils等)
- 一套可靠的版本控制工具:git,mercurial,perforce,以及必要时的svn
- iTerm2 - 这个工具真是太棒了。
- ActivePython - 免费版,包含easy_install、pip、distribute、ipython、pylint等工具。
- Komodo - (是的,我为此付费)试过textmate、eclipse、pycharm,Komodo几乎包含了我需要的所有功能。
- Dropbox(共享) / Omnigraffle(原型设计) / Omnifocus(规划)
项目结构
~/Users/<username>
/Dropbox/Projects/<project_name>
/Documents (Personal Documents relating to the project)
/Public (Public Documents shared with customer)
/Projects/<project_name>
/Documents ../Dropbox/Projects/<project_name>/Documents
/Public ../Dropbox/Projects/<project_name>/Public
/Development
<virtual_env>
开始开发
创建一个虚拟环境并激活它。
$ cd ~/Users/<username>/Projects/<project_name>/Development
$ virtualenv --no-site-packages --distribute <project>_django
$ cd <project>_django; . ./bin/activate
$ echo "alias <project>d="cd ~/Projects/<project_name>/Development/<project_django/www/; . ../bin/activate" > ~/.bash_profile
安装核心模块并启动一个Django项目。
$ pip install django django-debug-toolbar dbgp
$ django-admin.py startproject www
$ pip freeze > www/requirements.txt
继续开发吧。
$ cd www
$ django-admin.py startapp core
注意事项
- 所有在
www
目录下的文件(忽略.pyc文件)都存储在你的版本控制系统中。 - 在www目录下创建你的Komodo项目,并确保将
../lib/python2.7/site-packages/
目录添加到你的项目中。 - 在Komodo中,我创建了几个宏,真的很有帮助:
- 调试会话运行
./manage.py runserver
,使用pydb可以进行很好的调试和检查,所有操作都可以在Komodo中完成(如上所示)。这在PyDev中也可以实现。如果有兴趣,我可以分享这个功能。它需要第2点的支持以便扩展。 - Pylint - 在你的代码上运行pylint,确保得分至少为8.75。
- 标签标题 - 从这里借鉴并稍作修改。
- 调试会话运行
- 我使用iTerm来运行
./manage.py shell_plus
- 这个比Komodo自带的解释器要好得多。
有什么想法吗?
请分享你的看法,并指出可以改进的地方。我一直在寻找更好的方法来做事情……
1 个回答
1
正如丹尼尔所说,这其实不是一个问题。所以没有答案——除了“当然可以”之外。