SORU
26 EKİM 2009, PAZARTESİ


Nasıl Django yerel üretim vs ayarlarını yönetmek için?

Django acemi soru: bir
Yerel kalkınma için ayarlar ve üretim sunucusu kullanım için önerilen yolu nedir? Bazıları (gibi Sabitler, vb) değiştirilebilir/erişilen, ama bazıları (gibi yollara statik dosyalar) gerek kalır farklı, ve bu nedenle olmamalı üzerine her seferinde yeni kod dağıtılmış...

Şu anda, tüm sabitleri settings.py için ekliyorum. Ama her zaman bazı sürekli değiştiriyorum yerel üretim sunucusuna kopyalayın ve belirli değişiklikler üretim için dosyayı düzenlemek zorunda kalıyorum... :(

Bu soruya standart bir cevap yok gibi görünüyor, en popüler yöntem kabul ettim. Edit:

CEVAP
10 Mart 2013, Pazar


Two Scoops of Django: Best Practices for Django 1.5 ayarlar için sürüm denetimi dosyalarını kullanarak ve ayrı bir dizin: dosyaların boyutunu gösteriyor

project/
    app1/
    app2/
    project/
        __init__.py
        settings/
            __init__.py
            base.py
            local.py
            production.py
    manage.py

base.py dosya local.py production.py siteye özel ayarlar varken ortak ayarlar (MEDİA_ROOT veya ADMİN gibi) içerir:

Base dosyası settings/base.py:

INSTALLED_APPS = (
    # common apps...
)

Yerel kalkınma ayarları settings/local.py dosya:

from project.settings.base import *

DEBUG = True
INSTALLED_APPS  = (
    'debug_toolbar', # and other apps for local development
)

Dosya üretiminde ayarları settings/production.py dosya:

from project.settings.base import *

DEBUG = False
INSTALLED_APPS  = (
    # other apps for production site
)

Django çalıştırdığınızda, --settings seçeneği ekleyin:

# Running django for local development
$ ./manage.py runserver 0:8000 --settings=project.settings.local

# Running django shell on the production site
$ ./manage.py shell --settings=project.settings.production

Kitabın yazarları da Github a sample project layout template koyduk.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009
  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011
  • martin shervington

    martin sherv

    7 EKİM 2011