django manage.py 확장 사용자 정의 명령 방법
:
mac
django1.10.3
실제 프로젝트 개발 과정 에서 저 희 는 특정한 스 크 립 트 를 실행 하여 데이터 베 이 스 를 초기 화 할 수 있 습 니 다.예 를 들 어 celery,redis 등 여러 서 비 스 를 시작 해 야 할 수도 있 습 니 다.python mange.py celery/redis 를 직접 실행 하면 얼마나 편리 할 까!이 명령 들 을 django 프레임 워 크 의 manage.py 에 통합 할 수 있 습 니까?예시-데이터 초기 화
python manage.py initdata 명령 을 실행 하여 데 이 터 를 초기 화 합 니 다.이 명령 을 실행 한 후 스 크 립 트 파일 을 초기 화하 여 데이터 초기 화 합 니 다.
1.프로젝트 myproject 만 들 기
대략.
2.app my app 을 만 들 고 settings.py 를 설정 합 니 다.
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]
3.my app 아래 management.comands 모듈 만 들 기만 든 디 렉 터 리 는 다음 과 같 습 니 다.
4.commands 아래 initdata.py 파일 만 들 기
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from django.core.management.base import BaseCommand, CommandError
import os
import logging
import subprocess
INTERPRETER = "/usr/bin/python"
class Command(BaseCommand):
def handle(self, *args, **options):
if not os.path.exists(INTERPRETER):
log.error("Cannot find INTERPRETER at path \"%s\"." % INTERPRETER)
dirs = os.path.join(os.path.dirname(__file__), '../../..') #
processor = dirs + "/init/data.py"
pargs = [INTERPRETER, processor]
subprocess.Popen(pargs)
5.data.py 작성
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if __name__ == '__main__':
print 'ok'
6.python manage.py initdata 실행이상 의 django manage.py 확장 사용자 정의 명령 방법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.