2017-09-18 7 views
0

ConfigParser 클래스를 사용하여 .ini 파일 (타사 REST 서비스 용 URL 포함)에서 정보를 복구하려는 .py 파일을 원했습니다. 지금까지이 파일을 찾은 이후로 작업 했었지만, 하지만 지금은 그렇지 않습니다. 앱 구조는 다음과 같습니다Django. 코드 폴더에서 .ini 파일 사용

STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
STATIC_URL = '/static/' 

# Extra places for collectstatic to find static files. 
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'), 
) 

이 내가 로컬 개발을위한 호환이었다 설정을 mantain 싶어하고 있기 때문이다

app 
    folder 
     file.py 
     urls.ini 

나는이 때문에 다음과 같습니다 내 정적 파일 설정에 가정 Heroku에 대한 웹 제작 escenarios (웹에서 코드로 테스트 할 수있는). 나는 그것을 만들기 위해 많은 것을 바꿀 필요가 없었습니다.

미리 감사드립니다.

답변

0

일부 파일을 읽으려면 경로를 얻어야합니다. 당신이 당신의 장고 폴더에 정적 폴더가있는 경우

당신의 .ini 파일이

ini = open("%s/folder/yourfile.ini" % BASE_DIR, "r") 

그리고이 파일 라인을 읽는 일을 쉽게 얻을 수 있습니다.

제 생각에는 .py 파일을 사용하여 구성하는 것이 .ini 파일보다 쉽습니다. 예를 들어 settings.py 매개 변수에 따라 많은 파일을로드 할 수 있습니다.

편집 : 그 장고가 제공하는 settings.py 파일에서 변수이기 때문에 그러나 장고 설정 파일 변수

from django.conf import settings 
BASE_DIR = settings.BASE_DIR 
+0

를 사용하는 나는 BASE_DIR에 액세스 할 수 없습니다. 계층 구조의 최상위 레벨에있는 액세스 할 수있는 클래스는 다음과 같습니다. 사용하려는 경우 내 문제가 장고 내가 볼 – Lan5432

+0

를 모르는 이는, 배포 할 때 INI 파일입니다이 될 수도, 당신은 장고 설정에 액세스 할 수 있습니다 를'django.conf 가져 오기 settings'에서 또한 다음 코드를 사용하여 "BASE_DIR"변수를 "복제"할 수 있습니다 : 'import os' 'BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath (__ file __)))' –

+0

내가 틀렸다면 사과하되,''__file____''은 내 ini 파일까지 경로를 줄 것입니다. 나는 원하지 않습니다. 맞습니까? 나는 내가 최상위에 있는지 확인하고 싶다. "django.conf"사용에 대한 제안은 매력처럼 작동합니다. 답을 올바른 것으로 표시하고 싶지만 다른 사람에게 설정 가져 오기 부분을 추가 할 수 있습니까? 괜찮다고 생각한다면 – Lan5432