mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
fix django run
This commit is contained in:
parent
b99355e0a7
commit
cdffaeff16
@ -10,6 +10,7 @@ from django.core.handlers.wsgi import WSGIHandler
|
||||
from django.core.servers.basehttp import AdminMediaHandler, WSGIServerException
|
||||
|
||||
from gunicorn import util
|
||||
from gunicorn.config import Config
|
||||
from gunicorn.app.base import Application
|
||||
|
||||
class DjangoApplication(Application):
|
||||
@ -30,8 +31,8 @@ class DjangoApplication(Application):
|
||||
|
||||
project_name = os.path.split(self.project_path)[-1]
|
||||
settings_name, ext = os.path.splitext(os.path.basename(settings_path))
|
||||
settings_modname = "%s.%s" % (project_name, settings_name)
|
||||
self.cfg.default_proc_name = settings_modname
|
||||
self.settings_modname = "%s.%s" % (project_name, settings_name)
|
||||
self.cfg.set("default_proc_name", self.settings_modname)
|
||||
|
||||
sys.path.insert(0, self.project_path)
|
||||
sys.path.append(os.path.join(self.project_path, os.pardir))
|
||||
@ -48,8 +49,12 @@ class DjangoApplication(Application):
|
||||
|
||||
class DjangoApplicationCommand(Application):
|
||||
|
||||
def __init__(self, cfg, admin_media_path):
|
||||
self.cfg = cfg
|
||||
def __init__(self, options, admin_media_path):
|
||||
self.cfg = Config()
|
||||
for k, v in list(options.items()):
|
||||
if k.lower() in self.cfg.settings and v is not None:
|
||||
self.cfg.set(k.lower(), v)
|
||||
|
||||
self.admin_media_path = admin_media_path
|
||||
self.configure_logging()
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ KNOWN_SETTINGS = []
|
||||
|
||||
class Config(object):
|
||||
|
||||
def __init__(self, usage):
|
||||
def __init__(self, usage=None):
|
||||
self.settings = dict((s.name, s) for s in KNOWN_SETTINGS)
|
||||
self.usage = usage
|
||||
|
||||
|
||||
@ -53,18 +53,17 @@ class Command(BaseCommand):
|
||||
options['bind'] = addrport or '127.0.0.1'
|
||||
|
||||
options['default_proc_name'] =settings.SETTINGS_MODULE
|
||||
cfg = Config(options, options.get('gconfig'))
|
||||
|
||||
admin_media_path = options.get('admin_media_path', '')
|
||||
admin_media_path = options.pop('admin_media_path', '')
|
||||
quit_command = (sys.platform == 'win32') and 'CTRL-BREAK' or 'CONTROL-C'
|
||||
|
||||
print "Validating models..."
|
||||
self.validate(display_num_errors=True)
|
||||
print "\nDjango version %s, using settings %r" % (django.get_version(),
|
||||
settings.SETTINGS_MODULE)
|
||||
print "Development server is running at %s" % str(cfg.address)
|
||||
print "Development server is running at %s" % options['bind']
|
||||
print "Quit the server with %s." % quit_command
|
||||
|
||||
# django.core.management.base forces the locale to en-us.
|
||||
translation.activate(settings.LANGUAGE_CODE)
|
||||
DjangoApplicationCommand(cfg, admin_media_path).run()
|
||||
DjangoApplicationCommand(options, admin_media_path).run()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user