> 백엔드 개발 > 파이썬 튜토리얼 > Django 시작 시 코드를 한 번 실행하는 방법은 무엇입니까?

Django 시작 시 코드를 한 번 실행하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-01 20:13:02
원래의
784명이 탐색했습니다.

How to Execute Code Once at Django Startup?

Django 시작 시 단일 실행 코드 실행

Django 애플리케이션을 개발할 때 특정 코드를 실행해야 하는 경우가 있을 수 있습니다. 일반적으로 초기화 목적으로 시작하는 동안 한 번만 수행됩니다. 그러나 이 목표를 위해 미들웨어 클래스를 사용하면 Django 미들웨어 시스템이 요청할 때마다 각 미들웨어의 __init__() 메서드를 호출하므로 여러 번 실행될 수 있습니다.

Django의 Django 솔루션 < 1.7

Django 1.7 이전 버전에서 이 문제를 해결하기 위한 한 가지 효과적인 접근 방식은 INSTALLED_APPS 중 하나의 __init__.py 파일 내에 시작 코드를 배치하는 것입니다. 예를 들어, myapp 애플리케이션에서는 myapp/__init__.py에 다음 코드를 포함할 수 있습니다.

<code class="python">def startup():
    pass # Place your startup code here

startup()</code>
로그인 후 복사

이 접근 방식을 사용하면 Django 시작 중에 start() 함수가 실행되고 이후에 다시 호출되지 않습니다. 후속 요청을 통해 원하는 일회성 실행을 제공합니다.

Django 1.7 이상을 위한 향상된 솔루션

Django 버전 1.7에서는 이 요구 사항에 대해 더욱 우아한 솔루션을 도입했습니다. 애플리케이션의 apps.py 파일 내에서 Ready() 메서드를 사용하여 AppConfig 클래스를 구현하면 애플리케이션이 준비됨으로 표시될 때 실행될 코드를 지정할 수 있습니다. 다음은 myapp 애플리케이션을 사용하는 예입니다.

<code class="python"># myapp/apps.py
from django.apps import AppConfig
class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"
    def ready(self):
        pass # Place your startup code here</code>
로그인 후 복사

이 접근 방식을 사용하면 시작 코드를 보다 자연스럽게 정의하고 실행할 수 있으며 Django 1.7 이상에 권장되는 솔루션입니다.

위 내용은 Django 시작 시 코드를 한 번 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿