112đź‘Ť
I use Eclipse and a plain vanilla PyDev. There isn’t any specific Django functionality. The best I came up with was setting up a run profile to run the development web server.
If you add the web tools project (WTP), you’ll get syntax highlighting in your templates, but nothing that relates to the specific template language. PyDev is a decent plugin, and if you are already familiar with Eclipse and use it for other projects it is a good way to go.
I recall NetBeans starting to get Python support, but I have no idea where that is right now. Lots of people rave about NetBeans 6, but in the Java world Eclipse still reigns as the king of the OSS IDEs.
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.
196đź‘Ť
There is PyCharm from JetBrains which supports Django and Google Apps. It looks promising.
Note: You need to buy a license for the Professional version if you want Django support. The Community version desn’t support Django.
- [Django]-Django Footer and header on each page with {% extends }
- [Django]-Django Generic Views using decorator login_required
- [Django]-How to execute a Python script from the Django shell?
48đź‘Ť
I use Vim:
http://github.com/skyl/vim-config-python-ide
[UPDATE]
Sublime Text 2 is pretty awesome. It supports a lot of Vim commands if you want them: Vintage Mode
It has a nice package manager: http://wbond.net/sublime_packages/package_control
I use these packages so far:
Djaneiro
SetDjangoSyntax
CoffeeScript
SublimeLinter
Theme – Soda
SideBarEnhancements
I still love Vim but … did I mention that Sublime Text plugins are written in Python?
- [Django]-Django Rest JWT login using username or email?
- [Django]-How to test auto_now_add in django
- [Django]-How do I get user IP address in Django?
- [Django]-Django queryset filter – Q() | VS __in
- [Django]-Django datefield filter by weekday/weekend
- [Django]-Why am I getting this error in Django?
- [Django]-What does on_delete do on Django models?
- [Django]-How do you change the collation type for a MySQL column?
- [Django]-How to reset Django admin password?
22đź‘Ť
I am beginning to enjoy working with Aptana Studios + PyDev (and other) plugins for all sorts of web application development. As you can tell, it is built on top of the powerful Eclipse, but is tailor-designed to focus on web application development.
- [Django]-How to mix queryset results?
- [Django]-Django Queryset with year(date) = '2010'
- [Django]-Multiple annotate Sum terms yields inflated answer
17đź‘Ť
I use Kate (KDE Advanced Text Editor) for most of my development, including Django. It has both a Python and Django Templates syntax higlighting. I switch to Quanta+ when a significant part of the project involves HTML.
Since it uses Kate’s KPart, it’s just as good for editing the Python parts, and for the HTML templates i have the whole Quanta+ tools, while still highligting Django-specific tags.
Update 2013: Unfortunately, Quanta+ has been dead for years now, and there’s no hope that it will ever be resurrected. Also, there’s no other usable HTML editor out there, so it’s Kate all the time now.
- [Django]-Row level permissions in django
- [Django]-How do I POST with jQuery/Ajax in Django?
- [Django]-Missing Table When Running Django Unittest with Sqlite3
16đź‘Ť
NetBeans for Python is my current favorite (lighter and so much easier to install than Eclipse I found). Supports simple refactoring, autocompletion, errors/warnings…
Eclipse Aptana PyDev probably one of the most complete free IDE nowadays (haven’t tested a lot)
Wingware Python IDE a commercial IDE, which has some Django-specific project setup features the ability to debug Django template files.
IntelliJ IDEA Ultimate Edition another commercial IDE which has also a plugin for Python that is under heavy development. I saw some demo which look very promising on the auto-completion (for templates and Python).
Vim which I still use a small touch-fix application. See also: Extra tweaks for Django.
- [Django]-Celery discover tasks in files with other filenames
- [Django]-Default filter in Django model
- [Django]-Django REST Framework: how to substitute null with empty string?
16đź‘Ť
PyCharm. It is best the IDE for Python,Django, and web development I’ve tried so far. It is totally worth the money.
- [Django]-Django-tables2: How to use accessor to bring in foreign columns?
- [Django]-Removing 'Sites' from Django admin page
- [Django]-Getting the SQL from a Django QuerySet
- [Django]-Error: No module named staticfiles
- [Django]-How to update an existing Conda environment with a .yml file
- [Django]-Change a form value before validation in Django form
9đź‘Ť
Eclipse has the PyDev plugin for python development. Unfortunately, I’m not sure how well it integrates with Django.
- [Django]-How to filter empty or NULL names in a QuerySet?
- [Django]-Convert Django Model object to dict with all of the fields intact
- [Django]-Django index page best/most common practice
7đź‘Ť
As far as I know there is not “an IDE” for Django, but there are some IDEs that support Django right out of the box, specifically the Django syntax for templates.
The name is Komodo, and it has a lot of features, but it’s not cheap. If you are not worried about source control or debugging then there is a free version called Komodo Edit.
- [Django]-Jquery template tags conflict with Django template!
- [Django]-Django + Ajax
- [Django]-How to perform OR condition in django queryset?
6đź‘Ť
There is an actual Python extension for Visual Studio: http://pytools.codeplex.com/. It’s absolutely fantastic. It feels the same as if I were coding in any native Visual Studio language. The extension is even compatabile with Django. And best of all: it’s totally free. Even for Visual Studio, it only requires the Visual Studio Shell to work, which is completely free.
- [Django]-Django template how to look up a dictionary value with a variable
- [Django]-How to pass information using an HTTP redirect (in Django)
- [Django]-Django: How can I create a multiple select form?
6đź‘Ť
Now you can also use Visual Studio 2010. Here’s how:
- Download and install Python Tools for Visual Studio.
- Create a new project from existing code (menu File → New → Project From Existing Code…)
- Specify your Django project folder and use the defaults.
- Right-click on manage.py and choose Set as Startup File.
- In your project properties Debug tab, add “runserver” in Script Arguments.
- You can set break points, and attach to the Python process for debugging. If you want to debug without having to “attach to process,” use “runserver –noreload” in your script arguments. However, the “–noreload” means you’ll have to stop and restart the Django development web server manually (to recognize your code changes).
This is a nice setup if you already use Visual Studio.
Python Tools has been updated. It has built in support for Django now.
- [Django]-Django south migration – Adding FULLTEXT indexes
- [Django]-How do you Serialize the User model in Django Rest Framework
- [Django]-Django storages aws s3 delete file from model record
6đź‘Ť
PyCharm, definitely. I tried them all (almost), but PyCharm is the one I found most useful for any heavy development.
For simple, one time, scripts I use whatever comes to mind (TextMate, Vim, Emacs, TextWrangler, etc., you name it).
- [Django]-How to force Django models to be released from memory
- [Django]-Getting the SQL from a Django QuerySet
- [Django]-Django: Implementing a Form within a generic DetailView
5đź‘Ť
I have used Eclipse with PyDev and PyCharm. PyCharm is definitely the best IDE for Django/Python I have tried. It does proper template highlighting and auto-completion for all objects. It also does cross-file referencing.
It’s quite expensive, but definitely the best Django IDE I have tried. You can try a 30 day evaluation at http://www.jetbrains.com/pycharm/download/.
- [Django]-Negating a boolean in Django template
- [Django]-Adding django admin permissions in a migration: Permission matching query does not exist
- [Django]-What is pip install -q -e . for in this Travis-CI build tutorial?
3đź‘Ť
I really like E Text Editor as it’s pretty much a “port” of TextMate to Windows. Obviously Django being based on Python, the support for auto-completion is limited (there’s nothing like intellisense that would require a dedicated IDE with knowledge of the intricacies of each library), but the use of snippets and “word-completion” helps a lot. Also, it has support for both Django Python files and the template files, and CSS, HTML, etc.
I’ve been using E Text Editor for a long time now, and I can tell you that it beats both PyDev and Komodo Edit hands down when it comes to working with Django. For other kinds of projects, PyDev and Komodo might be more adequate though.
- [Django]-Django-way for building a "News Feed" / "Status update" / "Activity Stream"
- [Django]-Login Page by using django forms
- [Django]-How to assign items inside a Model object with Django?
3đź‘Ť
I’ve also had good results with Eclipse and Pydev. Although I still require a shell opened to the project directory to run manage.py
commands. I’ve also been using it with the Bazaar plugin for revision control and syncing code with the server.
- [Django]-Do I need Nginx with Gunicorn if I am not serving any static content?
- [Django]-Annotate a queryset with the average date difference? (django)
- [Django]-Factory-boy create a list of SubFactory for a Factory
3đź‘Ť
I use Kate as well. Kate’s simplicity is its biggest feature. It doesn’t get in your way. (This is of course highly subjective opinion.)
Kate includes a Python code browser plugin. But it isn’t useful IMO. No automatic updates when you change the code/view. Also when you update, the whole tree is collapsed, and you have to expand it again yourself. Too many clicks.
Instead, I use the Source Browser plugin that comes with Pâté. It does cause Kate to freeze temporarily sometimes, but no crashes or anything of that sort so far.
Shameless blog plug: more on using Django with Kate (Pâté)
- [Django]-'staticfiles' is not a valid tag library: Template library staticfiles not found
- [Django]-Django manage.py runserver invalid syntax
- [Django]-Get Timezone from City in Python/Django
3đź‘Ť
Well, I’ve been using my own one. Recently they released an alpha version. Here it is at pfaide.com/.
- [Django]-Django rest framework, use different serializers in the same ModelViewSet
- [Django]-Are sessions needed for python-social-auth
- [Django]-Factory-boy create a list of SubFactory for a Factory
2đź‘Ť
If you like Vim as an editor, here are some suggestions on how to tune it (up to the point of a full fledged IDE) for Django development: http://code.djangoproject.com/wiki/UsingVimWithDjango.
- [Django]-Django Rest Framework custom response message
- [Django]-Why is __init__ module in django project loaded twice
- [Django]-Django REST framework post array of objects
1đź‘Ť
Editra supports Django Template Language syntax highlighting. You can configure it either as a better Notepad or a basic IDE.
- [Django]-How to use subquery in django?
- [Django]-How to use "get_or_create()" in Django?
- [Django]-How to get the name of current app within a template?
1đź‘Ť
I made a blog post about NetBeans’ new and upcoming support for Django. When paired with its already fantastic Python, JavaScript, HTML and CSS support, it’s a strong candidate in my mind!
- [Django]-Django, Models & Forms: replace "This field is required" message
- [Django]-Jquery template tags conflict with Django template!
- [Django]-Django model CharField: max_length does not work?
1đź‘Ť
TextMate with the Django and django-html bundles installed gives you syntax highlighting and great extensibility. It is lightweight and fun to use.
Here is a link to a code completion project for TextMate with Python (which I haven’t used myself). As for “intellisense” (which I understand to be inline-doc reference), TextMate has that too.
- [Django]-Django model constraint for related objects
- [Django]-Django DRF with oAuth2 using DOT (django-oauth-toolkit)
- [Django]-Django substr / substring in templates
1đź‘Ť
The Wingware editor from http://www.wingware.com is Python-specific with very good auto-completion for Python/Django/Zope, etc.
It has a built in Python shell to run snippets (or select and run) and support for Mercurial/Git, etc. and a built-in unittest/nose/doctest test runner. It’s commercial though, but as it is written in Python, it’s cross platform.
I bought it a while ago, and thought it looked dorky, but I’ve tried them all and keep coming back. Caveat that I am a Windows guy with no Emacs or Vim skills, so leveraging that was not an option. And the Mac version requires X Window and seems to be more glitchy.
- [Django]-Python Django Gmail SMTP setup
- [Django]-Django proxy model and ForeignKey
- [Django]-Django – getting Error "Reverse for 'detail' with no arguments not found. 1 pattern(s) tried:" when using {% url "music:fav" %}
- [Django]-Django py.test does not find settings module
- [Django]-Adding css class to field on validation error in django
- [Django]-How to get getting base_url in django template
- [Django]-Redirect to Next after login in Django
- [Django]-CORS: Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true
- [Django]-Problems extend change_form.html in django admin
0đź‘Ť
I have consistently used Vim or Kate, but I would prefer a full-blown IDE. Given it is not as heavy as Visual Studio.
- [Django]-Serializer call is showing an TypeError: Object of type 'ListSerializer' is not JSON serializable?
- [Django]-Uninstall Django completely
- [Django]-Django – How to pass several arguments to the url template tag
0đź‘Ť
I like Eclipse + PyDev and/or eric, myself. The new version of PyDev has some pretty awesome code completion support.
Since I only use Eclipse for PyDev, I use a slim install of just the Platform Runtime Binary + PyDev + Subclipse.
- [Django]-Disable session creation in Django
- [Django]-Best practices for getting the most testing coverage with Django/Python?
- [Django]-Django – iterate number in for loop of a template
0đź‘Ť
TextMate, Firebug, and pdb. The latter one saved me gazillion of times 🙂
- [Django]-Django Framework – Is there a shutdown event that can be subscribed to?
- [Django]-Django template can't see CSS files
- [Django]-Factory-boy create a list of SubFactory for a Factory
- [Django]-Has Django served an excess of 100k daily visits?
- [Django]-Django template includes slow?
- [Django]-Django + Ajax
- [Django]-Django: How to format a DateField's date representation?
- [Django]-Best way to integrate SqlAlchemy into a Django project
- [Django]-South migration: "database backend does not accept 0 as a value for AutoField" (mysql)