1. 程式人生 > >Django如何使文件在django自動執行

Django如何使文件在django自動執行

ces 修改 執行 elf pytho check 自動發現 config nta

1. Django admin源碼中

admin.py

from django.contrib import admin

# Register your models here.

在admin源碼中

# ACTION_CHECKBOX_NAME is unused, but should stay since its import from here
# has been referenced in documentation.
from django.contrib.admin.decorators import register
from django.contrib.admin.filters import
( AllValuesFieldListFilter, BooleanFieldListFilter, ChoicesFieldListFilter, DateFieldListFilter, FieldListFilter, ListFilter, RelatedFieldListFilter, RelatedOnlyFieldListFilter, SimpleListFilter, ) from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME from django.contrib.admin.options import
( HORIZONTAL, VERTICAL, ModelAdmin, StackedInline, TabularInline, ) from django.contrib.admin.sites import AdminSite, site from django.utils.module_loading import autodiscover_modules __all__ = [ "register", "ACTION_CHECKBOX_NAME", "ModelAdmin", "HORIZONTAL", "VERTICAL", "StackedInline
", "TabularInline", "AdminSite", "site", "ListFilter", "SimpleListFilter", "FieldListFilter", "BooleanFieldListFilter", "RelatedFieldListFilter", "ChoicesFieldListFilter", "DateFieldListFilter", "AllValuesFieldListFilter", "RelatedOnlyFieldListFilter", "autodiscover", ] # 通過autodiscover來實現自動發現文件 def autodiscover(): autodiscover_modules(admin, register_to=site) default_app_config = django.contrib.admin.apps.AdminConfig

2. 自定義一個項目

python  manage.py startapp vbc

3. 將vbc項目加入到自動發現

修改apps.py文件

from django.apps import AppConfig
from django.utils.module_loading import autodiscover_modules

class StarkConfig(AppConfig):
    name = stark

    def ready(self):
        autodiscover_modules(vbc)

Django如何使文件在django自動執行