Tôi đã tạo một thư mục con của dự án Django của tôi có tên là bin
nơi tôi muốn đặt tất cả các tập lệnh Python chạy bằng dòng lệnh. Một số kịch bản này cần nhập tệp dự án Django settings.py
Django của tôi nằm trong thư mục cha của bin
.Làm thế nào để nhập khẩu một dự án Django settings.py tập tin Python từ một thư mục con?
Làm cách nào để nhập tệp settings.py
từ thư mục con của dự án?
Mã mà tôi sử dụng trong kịch bản dòng lệnh của tôi để đặt vào "Django bối cảnh" của dự án là:
from django.core.management import setup_environ
import settings
setup_environ(settings)
này hoạt động tốt nếu kịch bản là trong thư mục gốc của dự án của tôi.
tôi đã cố gắng hai hacks sau để import settings.py
tập tin và sau đó thiết lập dự án:
import os
os.chdir("..")
import sys
sys.path = [str(sys.path[0]) + "/../"] + sys.path
Các hack độc ác có thể nhập settings.py
, nhưng sau đó tôi nhận được lỗi:
project_module = __import__(project_name, {}, {}, [''])
ValueError: Empty module name
Cảm ơn câu trả lời, tôi đã quá lười biếng để tra cứu thêm các lệnh quản lý trước đây, nhưng nó chỉ là những gì tôi muốn làm và giúp giữ tất cả các kịch bản của tôi ở một nơi. – MikeN