我做过一些Django开发,但都是在文本编辑器中完成的。我很好奇其他人在Django开发中使用了什么更高级的开发工具。
我习惯使用Visual Studio进行开发,非常喜欢它提供的智能感知、代码补全和文件组织,希望能在Django/Python环境中找到一些(或工具组合)可以提供这些功能的东西。
我做过一些Django开发,但都是在文本编辑器中完成的。我很好奇其他人在Django开发中使用了什么更高级的开发工具。
我习惯使用Visual Studio进行开发,非常喜欢它提供的智能感知、代码补全和文件组织,希望能在Django/Python环境中找到一些(或工具组合)可以提供这些功能的东西。
当前回答
我使用Eclipse和普通的PyDev。Django没有任何特定的功能。我想到的最好的办法是建立一个运行概要文件来运行开发web服务器。
如果您添加web工具项目(WTP),您将在模板中得到语法高亮显示,但没有与特定模板语言相关的内容。PyDev是一个不错的插件,如果您已经熟悉Eclipse并在其他项目中使用它,那么它是一个不错的选择。
我记得NetBeans开始获得Python支持,但我不知道它现在在哪里。很多人对NetBeans 6赞不绝口,但在Java世界中,Eclipse仍然是OSS ide的王者。
Update: LiClipse is also fantastic for Django. Install it, use this method to get the icon into Ubuntu's menu. Start LiClipse and in File > New > Project ..., select PyDev and PyDev Django project. You may have to set up your Python interpreter etc, but that you'll be able to figure out on your own. Once the Django project is created, you can right click on the project and the menu will have a "Django" option, which allows various things like creating a Django app or running migrations etc. LiClipse is good because it consumes far lesser memory than PyCharm and supports refactoring and autocomplete reasonably well.
其他回答
据我所知,目前还没有针对Django的“IDE”,但是有一些IDE可以开箱即用地支持Django,特别是用于模板的Django语法。
它的名字叫科莫多,它有很多特色,但并不便宜。如果你不担心源代码控制或调试,那么有一个叫做Komodo Edit的免费版本。
NetBeans for Python是我目前的最爱(我发现它比Eclipse更轻便,安装起来也容易得多)。支持简单的重构,自动补全,错误/警告…
Eclipse Aptana PyDev可能是当今最完整的免费IDE之一(还没有测试很多)
Wingware Python IDE是一个商业IDE,它有一些Django特定的项目设置功能,可以调试Django模板文件。
IntelliJ IDEA终极版是另一个商业IDE,它也有一个正在大力开发的Python插件。我看到了一些演示,看起来很有前途的自动完成(模板和Python)。
Vim,我仍然使用一个小的触摸修复应用程序。参见:Django的额外调整。
有来自JetBrains的PyCharm,支持Django和谷歌应用程序。看起来很有希望。
注意:如果你想要Django支持,你需要购买专业版的许可证。社区版不支持Django。
你们应该注销PyCharm!它是第一个像样的Django IDE。
我使用Vim:
http://github.com/skyl/vim-config-python-ide
(更新)
Sublime Text 2非常棒。如果你需要的话,它支持很多Vim命令:Vintage Mode
它有一个很好的包管理器:http://wbond.net/sublime_packages/package_control
到目前为止,我使用这些包:
Djaneiro
SetDjangoSyntax
CoffeeScript
SublimeLinter
主题-苏打
SideBarEnhancements
我仍然喜欢Vim,但是……我有没有提到Sublime Text插件是用Python写的?