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 |