app/django/core/management/commands/testserver.py
changeset 323 ff1a9aa48cfd
parent 54 03e267d67478
equal deleted inserted replaced
322:6641e941ef1e 323:ff1a9aa48cfd
     2 
     2 
     3 from optparse import make_option
     3 from optparse import make_option
     4 
     4 
     5 class Command(BaseCommand):
     5 class Command(BaseCommand):
     6     option_list = BaseCommand.option_list + (
     6     option_list = BaseCommand.option_list + (
     7         make_option('--verbosity', action='store', dest='verbosity', default='1',
     7         make_option('--addrport', action='store', dest='addrport',
     8             type='choice', choices=['0', '1', '2'],
       
     9             help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
       
    10         make_option('--addrport', action='store', dest='addrport', 
       
    11             type='string', default='',
     8             type='string', default='',
    12             help='port number or ipaddr:port to run the server on'),
     9             help='port number or ipaddr:port to run the server on'),
    13     )
    10     )
    14     help = 'Runs a development server with data from the given fixture(s).'
    11     help = 'Runs a development server with data from the given fixture(s).'
    15     args = '[fixture ...]'
    12     args = '[fixture ...]'
    16 
    13 
    17     requires_model_validation = False
    14     requires_model_validation = False
    18 
    15 
    19     def handle(self, *fixture_labels, **options):
    16     def handle(self, *fixture_labels, **options):
    20         from django.conf import settings
       
    21         from django.core.management import call_command
    17         from django.core.management import call_command
    22         from django.test.utils import create_test_db
    18         from django.db import connection
    23 
    19 
    24         verbosity = int(options.get('verbosity', 1))
    20         verbosity = int(options.get('verbosity', 1))
    25         addrport = options.get('addrport')
    21         addrport = options.get('addrport')
    26 
    22 
    27         # Create a test database.
    23         # Create a test database.
    28         db_name = create_test_db(verbosity=verbosity)
    24         db_name = connection.creation.create_test_db(verbosity=verbosity)
    29 
    25 
    30         # Import the fixture data into the test database.
    26         # Import the fixture data into the test database.
    31         call_command('loaddata', *fixture_labels, **{'verbosity': verbosity})
    27         call_command('loaddata', *fixture_labels, **{'verbosity': verbosity})
    32 
    28 
    33         # Run the development server. Turn off auto-reloading because it causes
    29         # Run the development server. Turn off auto-reloading because it causes