Fixed #5376 -- Added --addrport option to the 'testserver' command. Thanks, toddobryan

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6204 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2007-09-14 19:17:15 +00:00
parent 725716b5f5
commit fe78237a22
2 changed files with 30 additions and 6 deletions

View File

@ -7,6 +7,9 @@ class Command(BaseCommand):
make_option('--verbosity', action='store', dest='verbosity', default='1', make_option('--verbosity', action='store', dest='verbosity', default='1',
type='choice', choices=['0', '1', '2'], type='choice', choices=['0', '1', '2'],
help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'), help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
make_option('--addrport', action='store', dest='addrport',
type='string', default='',
help='port number or ipaddr:port to run the server on'),
) )
help = 'Runs a development server with data from the given fixture(s).' help = 'Runs a development server with data from the given fixture(s).'
args = '[fixture ...]' args = '[fixture ...]'
@ -19,6 +22,7 @@ class Command(BaseCommand):
from django.test.utils import create_test_db from django.test.utils import create_test_db
verbosity = int(options.get('verbosity', 1)) verbosity = int(options.get('verbosity', 1))
addrport = options.get('addrport')
# Create a test database. # Create a test database.
db_name = create_test_db(verbosity=verbosity) db_name = create_test_db(verbosity=verbosity)
@ -30,4 +34,4 @@ class Command(BaseCommand):
# a strange error -- it causes this handle() method to be called # a strange error -- it causes this handle() method to be called
# multiple times. # multiple times.
shutdown_message = '\nServer stopped.\nNote that the test database, %r, has not been deleted. You can explore it on your own.' % db_name shutdown_message = '\nServer stopped.\nNote that the test database, %r, has not been deleted. You can explore it on your own.' % db_name
call_command('runserver', shutdown_message=shutdown_message, use_reloader=False) call_command('runserver', addrport=addrport, shutdown_message=shutdown_message, use_reloader=False)

View File

@ -627,14 +627,34 @@ This is useful in a number of ways:
in any way, knowing that whatever data changes you're making are only in any way, knowing that whatever data changes you're making are only
being made to a test database. being made to a test database.
Note that this server can only run on the default port on localhost; it does Note that this server does *not* automatically detect changes to your Python
not yet accept a ``host`` or ``port`` parameter. source code (as ``runserver`` does). It does, however, detect changes to
templates.
Also note that it does *not* automatically detect changes to your Python source
code (as ``runserver`` does). It does, however, detect changes to templates.
.. _unit tests: ../testing/ .. _unit tests: ../testing/
--addrport [port number or ipaddr:port]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use ``--addrport`` to specify a different port, or IP address and port, from
the default of 127.0.0.1:8000. This value follows exactly the same format and
serves exactly the same function as the argument to the ``runserver`` subcommand.
Examples:
To run the test server on port 7000 with ``fixture1`` and ``fixture2``::
django-admin.py testserver --addrport 7000 fixture1 fixture2
django-admin.py testserver fixture1 fixture2 --addrport 8080
(The above statements are equivalent. We include both of them to demonstrate
that it doesn't matter whether the options come before or after the
``testserver`` command.)
To run on 1.2.3.4:7000 with a `test` fixture::
django-admin.py testserver --addrport 1.2.3.4:7000 test
--verbosity --verbosity
~~~~~~~~~~~ ~~~~~~~~~~~