Django 관리 명령 설명서는 app/management/commands 폴더에서 생성되는 모든 명령을 보여줍니다. app/management/commands/install 및 app/management/commands/maintenance와 같은 하위 폴더에 명령을 넣을 수 있습니까? 어떻게이 일을 끝낼 수 있습니까?Django : 하위 폴더로 관리 명령을 분할
5
A
답변
5
불행히도 Django 1.4부터는 그렇게 할 방법이없는 것으로 보입니다. 당신이 볼 수 있듯이
def find_commands(management_dir):
"""
Given a path to a management directory, returns a list of all the command
names that are available.
Returns an empty list if no commands are defined.
"""
command_dir = os.path.join(management_dir, 'commands')
try:
return [f[:-3] for f in os.listdir(command_dir)
if not f.startswith('_') and f.endswith('.py')]
except OSError:
return []
, 그것은 단지 하위 폴더를 무시하고 직접 commands
폴더 안에 파일을 고려 : django.core.management.__init__.py
에 대한 소스는이 방법을 가지고있다. 실제로 Command
인스턴스를 생성하는 코드는 다음이기 때문에, 당신은 "원숭이 패치"어떻게 든이 기능을, 나머지 코드는 잘 작동합니다 경우 : 그래서
def load_command_class(app_name, name):
"""
Given a command name and an application name, returns the Command
class instance. All errors raised by the import process
(ImportError, AttributeError) are allowed to propagate.
"""
module = import_module('%s.management.commands.%s' % (app_name, name))
return module.Command()
당신이 한 경우, 명령은 subfolder.command
에게 그것을 이름 올바른 스크립트를로드하고 올바른 클래스를 인스턴스화합니다.
실용적인 관점에서 볼 때, 나는 그것을 사용하지 않습니다. 물론 "namespace'd"명령을 사용하는 것이 좋겠지 만 원하는 경우 다른 명령을 구분 기호 (예 : _
)를 사용하여 원하는 경우 모든 명령 앞에 항상 접두사를 붙일 수 있습니다. 명령 이름 길이 - 터미널에 입력하는 데 필요한 키 입력 횟수는 동일합니다 ...
관련 문제
- 1. UnitTest/WebTest에서 Python/Django 관리 명령을 실행하십시오.
- 2. Django 관리 명령에서 하위 프로세스를 중지하는 방법?
- 3. 하위 폴더의 하위 폴더로 리디렉션
- 4. Dotcloud의 하위 도메인에서 폴더로 리디렉션
- 5. 관리 영역을 모듈 또는 하위 컨트롤러 폴더로 만드시겠습니까?
- 6. 하위 도메인을/폴더로 리디렉션
- 7. 하위 폴더로 FTP 전송
- 8. 하위 폴더로 도메인 리디렉션
- 9. 디렉토리를 하위 모듈로 분할
- 10. django 관리 명령 만들기
- 11. htaccess로 하위 도메인의 트래픽을 폴더로 하위 폴더
- 12. .htaccess를 사용하여 하위 도메인을 하위 폴더로 지정
- 13. Django 프로젝트의 "admin.py"분할?
- 14. Application.cfc 하위 폴더로 값을 확장
- 15. mod_rewrite가 하위 폴더로 요청을 리디렉션합니다.
- 16. Android가 하위 폴더로 레이아웃 정리
- 17. Django 관리 명령 Daemonize
- 18. 클래스를 하위 클래스로 분할
- 19. 하위 테이블에 xtable 분할
- 20. 소나타 관리 - 하위 관리 클래스
- 21. 하위 폴더의 모든 하위 폴더를 하위 폴더로 만듭니다.
- 22. Windows 하위 폴더를 반복하고 명령을 실행합니다.
- 23. Django 트랜잭션 관리
- 24. Django 관리 명령 ImportError
- 25. Django - 재정렬 관리 카테고리
- 26. Django 권한 관리
- 27. 파일 이름 분할 - 하위 문자열?
- 28. ERLANG - 목록을 하위 목록으로 분할
- 29. 문자열을 하위 문자열로 분할 (안드로이드)
- 30. tar 명령을 사용하여 파일을 특정 크기로 분할
문제에 대한 자세한 정보를 제공 할 수 있습니까? 그것은 당신이 찾고있는 것입니까? https://docs.djangoproject.com/en/dev/howto/custom-management-commands/ – Marat
app/management/명령의 하위 폴더에 명령을 입력하고 싶습니다. 질문에 더 자세히 설명했습니다. –