Kaydet (Commit) 617eff41 authored tarafından Ryan Hiebert's avatar Ryan Hiebert Kaydeden (comit) Tim Graham

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

üst 1743efbe
"""
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()
...@@ -33,7 +33,12 @@ Django settings files, use ``django-admin`` with ...@@ -33,7 +33,12 @@ Django settings files, use ``django-admin`` with
option. option.
The command-line examples throughout this document use ``django-admin`` to 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 Usage
===== =====
...@@ -42,6 +47,7 @@ Usage ...@@ -42,6 +47,7 @@ Usage
$ django-admin <command> [options] $ django-admin <command> [options]
$ manage.py <command> [options] $ manage.py <command> [options]
$ python -m django <command> [options]
``command`` should be one of the commands listed in this document. ``command`` should be one of the commands listed in this document.
``options``, which is optional, should be zero or more of the options available ``options``, which is optional, should be zero or more of the options available
......
...@@ -415,6 +415,9 @@ Management Commands ...@@ -415,6 +415,9 @@ Management Commands
to the database using the password from your settings file (instead of to the database using the password from your settings file (instead of
requiring it to be manually entered). 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 Migrations
^^^^^^^^^^ ^^^^^^^^^^
......
...@@ -2037,3 +2037,12 @@ class Dumpdata(AdminScriptTestCase): ...@@ -2037,3 +2037,12 @@ class Dumpdata(AdminScriptTestCase):
out, err = self.run_manage(args) out, err = self.run_manage(args)
self.assertOutput(err, "You can only use --pks option with one model") self.assertOutput(err, "You can only use --pks option with one model")
self.assertNoOutput(out) 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)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment