Commit 617eff41 authored by Ryan Hiebert's avatar Ryan Hiebert Committed by Tim Graham
Browse files

Fixed #24857 -- Added "python -m django" entry point.

parent 1743efbe
Loading
Loading
Loading
Loading

django/__main__.py

0 → 100644
+9 −0
Original line number Diff line number Diff line
"""
Invokes django-admin when the django module is run as a script.

Example: python -m django check
"""
from django.core import management

if __name__ == "__main__":
    management.execute_from_command_line()
+7 −1
Original line number Diff line number Diff line
@@ -33,7 +33,12 @@ Django settings files, use ``django-admin`` with
option.

The command-line examples throughout this document use ``django-admin`` to
be consistent, but any example can use ``manage.py`` just as well.
be consistent, but any example can use ``manage.py`` or ``python -m django``
just as well.

.. versionadded:: 1.9

    ``python -m django`` was added.

Usage
=====
@@ -42,6 +47,7 @@ Usage

    $ django-admin <command> [options]
    $ manage.py <command> [options]
    $ python -m django <command> [options]

``command`` should be one of the commands listed in this document.
``options``, which is optional, should be zero or more of the options available
+3 −0
Original line number Diff line number Diff line
@@ -415,6 +415,9 @@ Management Commands
  to the database using the password from your settings file (instead of
  requiring it to be manually entered).

* The ``django`` package may be run as a script, i.e. ``python -m django``,
  which will behave the same as ``django-admin``.

Migrations
^^^^^^^^^^

+9 −0
Original line number Diff line number Diff line
@@ -2037,3 +2037,12 @@ class Dumpdata(AdminScriptTestCase):
        out, err = self.run_manage(args)
        self.assertOutput(err, "You can only use --pks option with one model")
        self.assertNoOutput(out)


class MainModule(AdminScriptTestCase):
    """python -m django works like django-admin."""

    def test_runs_django_admin(self):
        cmd_out, _ = self.run_django_admin(['--version'])
        mod_out, _ = self.run_test('-m', ['django', '--version'])
        self.assertEqual(mod_out, cmd_out)