Index: extras/django_bash_completion
===================================================================
--- extras/django_bash_completion	(revision 4563)
+++ extras/django_bash_completion	(working copy)
@@ -79,10 +79,28 @@
             adminindex|install|reset| \
             sql|sqlall|sqlclear|sqlindexes| \
             sqlinitialdata|sqlreset|sqlsequencereset)
-            # App completion isn't yet implemented, but here's where that
-            # would go.
-            # COMPREPLY=( $(compgen -W "auth core" -- ${cur}) )
-            COMPREPLY=()
+            # App completion
+            settings=""
+            # If settings.py in the PWD, use that
+            if [ -e settings.py ] ; then
+                settings="$PWD/settings.py"
+            else
+                # Use the ENV variable if it is set
+                if [ $DJANGO_SETTINGS_MODULE ] ; then
+                    settings=$DJANGO_SETTINGS_MODULE
+                fi
+            fi
+            # Couldn't find settings so return nothing
+            if [ -z $settings ] ; then
+                COMPREPLY=()
+            # Otherwise inspect settings.py file
+            else
+                apps=`sed -n "/INSTALLED_APPS = (/,/)/p" $settings | \
+                      grep -v "django.contrib" | 
+                      sed -n "s/^[ ]*'\(.*\.\)*\(.*\)'.*$/\2 /pg" | \
+                      tr -d "\n"`
+                COMPREPLY=( $(compgen -W "${apps}" -- ${cur}) )
+            fi
             return 0
             ;;
 
