2012-04-10 35 views
7

tôi đang làm việc trên dự án Django có sử dụng một số biến chục cấu hình cụ thể ở một số "Cài đặt" các tập tin nằm trong thư mục gốc của dự án:thiết lập Tổ chức trong Django

--> myproject 
------> app folders 
------> ... 
--- settings.py 
--- settings_global.py 
--- settings_production.py 
--- settings_development.py 

biến từ settings_ khác nhau * file này sau đó được nhập khẩu settings.py tập tin dựa trên các thông số thời gian chạy nhất định (tên máy chủ, vv). Tất cả đều làm việc khá tốt, nhưng đôi khi nó vẫn còn khó có thể xác định vị trí biến nhất định, vì vậy tôi muốn tái tổ chức thiết lập các biến và chia chúng thành nhiều loại:

  • biến dự án cụ thể
  • biến django cụ thể
  • biến cụ thể cài đặt ứng dụng (chẳng hạn như cài đặt cho django_compressor, vv)
  • biến môi trường cụ thể (sản xuất/phát triển)

Ngoài ra tôi muốn di chuyển tất cả settin gs file nhưng tập tin settings.py để thiết lập thư mục con:

--> myproject 
------> app folders 
------> ... 
------> settings 
---------- __init__.py 
---------- common.py 
---------- production.py 
---------- development.py 
---------- apps.py 
---------- ... 
--- settings.py 

tôi đã tạo ra các thiết lập thư mục con (cũng như trống __init__.py tập tin) và sao chép/đổi tên các tập tin cài đặt. Sau đó, tôi đã cố gắng để nhập khẩu các biến trong tập tin setting.py của tôi như sau:

from settings.common import * 
from settings.apps import * 

Tuy nhiên, tôi nhận được lỗi sau (mặc dù ROOT_URLCONF tồn tại trong môi trường/file common.py):

AttributeError: 'Settings' object has no attribute 'ROOT_URLCONF' 

Tôi đang làm gì sai?

+0

Nơi nào bạn nhận được lỗi đó? –

+0

Tôi nhận được điều này trong nhật ký lỗi apache (sau khi khởi động lại quá trình và truy cập trang của dự án) – MikeAr

+0

Liên quan: http://stackoverflow.com/questions/2035733/how-to-modularize-django-settings-py http: // stackoverflow .com/questions/5583077/django-settings-py-riêng-local-and-global-configuration http://stackoverflow.com/questions/1626326/how-to-manage-local-vs-production-settings-in- django – danihp

Trả lời

7

Tôi nghĩ rằng có một vụ va chạm giữa tên mô-đun settings.py của bạn và các gói cài đặt, thử đổi tên gói đến cái gì khác

+0

Đó là vấn đề, cảm ơn. – MikeAr

+0

Cảm ơn rất nhiều !! –