Django 분석에서 관리자 명령을 사용자 정의하는 방법
2820 단어 django
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SNCRM.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
여기서 스크립트는 excute에 따라...from_command_라인 () 방법에 입력된 명령으로 해당하는 결과를 실행합니다.즉, 우리는 이 함수가 식별할 수 있는 명령을 스스로 작성할 수 있기 때문에 어느 정도에 관리자를 확대할 수 있다.py의 기능이 생겼다.
그러면 우리는 어떻게 사용자 정의 관리자 명령을 써야 합니까?
우선, 우리는 apps 모듈에서 관리라는 모듈을 구축해야 Django가 우리의 명령을 자동으로 발견할 수 있다. 이렇게 하면 우리가 새로 구축한 관리 모듈에서 우리가 필요로 하는 명령을 만들 수 있다. 물론 모든py 파일 시스템이 명령으로 식별되는 것은 아니다.BaseCommand를 인용해야만 정확하게 식별될 수 있고 우리의 명령 종류는BaseCommand에 계승되어야 한다.다음은 코드로 설명하겠습니다.
#django command import
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **options):
print 'hello, World !'
이것은 가장 기본적인 명령이다. 사용할 때 우리는 관리자만 있으면 된다.py 뒤에 명령의 파일 이름을 입력하면 됩니다.
물론 위의 예는 가장 간단한 예이다. 일반적으로 프로젝트를 초기화할 때 이 기능을 사용하기 때문에 우리의 스크립트는 데이터베이스에 대한 조작이다. 특히 우리의 프로젝트가 제3자의 ORM 프레임워크를 사용할 때 이 기능이 특히 중요하다. 왜냐하면 Django의syncdb 명령은 제3자의 ORM을 초기화할 수 없고 Django가 자체로 가지고 있는 ORM을 초기화할 수 있기 때문이다.그래서 저는 SQLAlchemy와 같은 다른 ORM을 사용할 때 이 기능을 자주 사용합니다. 여기에 기록합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.