Django

Code

Changeset 3811

Show
Ignore:
Timestamp:
09/24/06 03:17:47 (2 years ago)
Author:
mtredinnick
Message:

Fixed #2600 -- Added an option to allow serving admin media from a custom path
with dev server. Thanks, adurdin@gmail.com.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/AUTHORS

    r3807 r3811  
    4343answer newbie questions, and generally made Django that much better: 
    4444 
     45    adurdin@gmail.com 
    4546    akaihola 
    4647    Andreas 
  • django/trunk/django/core/management.py

    r3802 r3811  
    10461046        sys.exit(1) 
    10471047 
    1048 def runserver(addr, port, use_reloader=True): 
     1048def runserver(addr, port, use_reloader=True, admin_media_dir=''): 
    10491049    "Starts a lightweight Web server for development." 
    10501050    from django.core.servers.basehttp import run, AdminMediaHandler, WSGIServerException 
     
    10641064        print "Quit the server with %s." % quit_command 
    10651065        try: 
    1066             run(addr, int(port), AdminMediaHandler(WSGIHandler())) 
     1066            import django 
     1067            path = admin_media_dir or django.__path__[0] + '/contrib/admin/media' 
     1068            handler = AdminMediaHandler(WSGIHandler(), path) 
     1069            run(addr, int(port), handler) 
    10671070        except WSGIServerException, e: 
    10681071            # Use helpful error messages instead of ugly tracebacks. 
     
    10851088    else: 
    10861089        inner_run() 
    1087 runserver.args = '[--noreload] [optional port number, or ipaddr:port]' 
     1090runserver.args = '[--noreload] [--adminmedia=ADMIN_MEDIA_PATH] [optional port number, or ipaddr:port]' 
    10881091 
    10891092def createcachetable(tablename): 
     
    12711274    parser.add_option('--verbosity', action='store', dest='verbosity', default='2', 
    12721275        type='choice', choices=['0', '1', '2'], 
    1273         help='Verbosity level; 0=minimal output, 1=normal output, 2=all output') 
     1276        help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'), 
     1277    parser.add_option('--adminmedia', dest='admin_media_path', default='', help='Lets you manually specify the directory to serve admin media from when running the development server.'), 
    12741278 
    12751279    options, args = parser.parse_args(argv[1:]) 
     
    13351339            except ValueError: 
    13361340                addr, port = '', args[1] 
    1337         action_mapping[action](addr, port, options.use_reloader
     1341        action_mapping[action](addr, port, options.use_reloader, options.admin_media_path
    13381342    elif action == 'runfcgi': 
    13391343        action_mapping[action](args[1:]) 
  • django/trunk/django/core/servers/basehttp.py

    r3530 r3811  
    595595    security and is not super efficient. 
    596596    """ 
    597     def __init__(self, application): 
     597    def __init__(self, application, media_dir = None): 
    598598        from django.conf import settings 
    599         import django 
    600599        self.application = application 
    601         self.media_dir = django.__path__[0] + '/contrib/admin/media' 
     600        if not media_dir: 
     601            import django 
     602            self.media_dir = django.__path__[0] + '/contrib/admin/media' 
     603        else: 
     604            self.media_dir = media_dir 
    602605        self.media_url = settings.ADMIN_MEDIA_PREFIX 
    603606