Geliştirdiğim uygulamayı sunucuya yükledikten sonra lokalde geliştirirken oluşturduğum bir çok seçeneğin sunucudayken değişmesi gerektiğini farkettim. Bu ayarları değiştirmek kolaydı fakat sıkıntı çektiğim nokta uygulamanın hem sunucuda hemde kendi laptopumda tek bir settings.py ile sorunsuzca çalışması gerekiyordu. Bende şöyle bir çözüm buldum :
settings.py :
from os import uname, getcwd
from os.path import join
MACHINE_NAME = uname()[1]
if MACHINE_NAME == "web77.webfaction.com":
DOCUMENT_ROOT = "/path/to/document/"
DATABASE_ENGINE = ...
DATABASE_NAME = ...
DATABASE_USER = ...
DATABASE_PASSWORD = ...
DATABASE_HOST = ...
DATABASE_PORT = ...
else:
DOCUMENT_ROOT = getcwd()
DATABASE_ENGINE = 'sqlite3'
DATABASE_NAME = join(DOCUMENT_ROOT,'sqlite3.db')
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''
güzel olmuş :D
YanıtlaSilos.uname'in yerine platform.node kullanımı tercih edilmeli, mesela djangoproject.com'daki kullanım şu şekilde:
YanıtlaSilimport platform
DEVELOPMENT_MODE = (platform.node() != "hostname_buraya_geliyor")
if DEVELOPMENT_MODE:
DEBUG = True
else:
DEBUG = False
You might also check out argparse() and getopt() for this kind of thing.
YanıtlaSilJR https://www.rutmanip.com