2012-06-18 26 views
8

Tôi muốn có một cấu hình chung với các cài đặt không thay đổi trên các môi trường khác nhau (phát triển và sản xuất). Tôi biết tôi có thể thiết lập tệp settings.py toàn cầu (ví dụ: giới hạn sql), nhưng theo như tôi biết, kim tự tháp yêu cầu cài đặt nhất định được tìm thấy trong tệp ini lúc khởi động (ví dụ: đường dẫn thư mục mẫu).Làm thế nào để sử dụng cấu hình ini chung (giữa phát triển và sản xuất) trong kim tự tháp?

Tôi có thể, và nếu có, làm cách nào để làm điều này trong kim tự tháp?

Trả lời

16

Có một vài tùy chọn có thể có mà không phải ra ngoài giới hạn INI của PasteDeploy. Tuy nhiên, lên phía trước, nhận ra vẻ đẹp của mô hình tập tin INI là một khả năng cơ bản để tạo ra nhiều tập tin với các thiết lập/cấu hình khác nhau. Có, bạn phải giữ chúng trong đồng bộ, nhưng chúng chỉ là các thiết lập (không logic) để không nên không thể vượt qua.

Dù sao, PasteDeploy supports a default section được thừa hưởng bởi các phần [app:XXX]. Vì vậy, bạn có thể đặt các cài đặt chung ở đó và có các mục [app:myapp-dev][app:myapp-prod] khác nhau.

# settings.ini 

[DEFAULT] 
foo = bar 

[app:myapp-dev] 
use = egg:myapp 

[app:myapp-prod] 
use = egg:myapp 

set foo = baz 

này có thể chạy qua

env/bin/pserve -n myapp-dev settings.ini 

Một lựa chọn khác là sử dụng nhiều file cấu hình.

# myapp.ini 

[app:myapp-section] 
use = egg:myapp 

foo = bar 

# myapp-dev.ini 

[app:main] 
use = config:myapp.ini#myapp-section 

foo = baz 

# myapp-prod.ini 

[app:main] 
use = config:myapp.ini#myapp-section 

này có thể chạy qua

env/bin/pserve myapp-prod.ini 

Nếu bạn không muốn sử dụng PasteDeploy (file ini), bạn có thể làm điều gì đó bằng Python nhưng có những lợi ích thực sự cho cấu hình này là đơn giản.

Các vấn đề liên quan