Django / MacOS revised efficient development workflow

谁说我不能喝 提交于 2019-12-10 11:32:20

问题


I've been now happily developing applications (Django in particular) on the Mac for a few years now. As part of this process I am always looking to gain efficiencies in my workflow and enjoy reading about other development expieriences. Now it's my turn to give back. This is a revision to my previous post with time and expierience under my belt.

Tools of the trade

  • A Mac Loaded up with XCode
  • A good set of gnu tools (coreutils, findutils, diffutils...)
  • A solid set of SCM's git, mercurial, perforce, svn (if needed..)
  • iTerm2 - This simply is awesome.
  • ActivePython - The free version → with easy_install, pip, distribute, ipython, pylint available to all.
  • Komodo - (Yes I paid for this) Have tried textmate, eclipse, pycharm, Komodo simply has most everything I need.
  • Dropbox (sharing) / Omnigraffle (mockups) / Omnifocus (planning)

The structure

~/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>

Starting Out

Create a virtual env and get it activated.

$ 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

Get core modules installed and start a django project.

$ pip install django django-debug-toolbar dbgp
$ django-admin.py startproject www
$ pip freeze > www/requirements.txt

Go forth and develop.

$ cd www
$ django-admin.py startapp core

Comments

  1. Everything under www (ignoring .pyc's) is stored in your SCM.
  2. Create your Komodo project inside the www tree and ensure that you add the ../lib/python2.7/site-packages/ tree to your project.
  3. In Komodo I created several macros which really help me out
    • Debug session runs ./manage.py runserver under pydb which allows good introspection and awesome debugging capability all from within Komodo (as shown above). This is also available in PyDev. If interested I can share this. It requires #2 for scalability.
    • Pylint - Run pylint on your code and ensure at least 8.75 score.
    • Tab Titles - Shamelessly swiped and tweaked from here
  4. I use iTerm for ./manage.py shell_plus - This is way superior than the Komodo built in interpreter.

Thoughts??

Please share your views and point out areas for improvement. I'm always searching for better ways of doing things...


回答1:


As Daniel pointed out this isn't a question per se. So there isn't an answer - other than sure..



来源:https://stackoverflow.com/questions/6696246/django-macos-revised-efficient-development-workflow

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!