Django如何使文件在django自動執行
阿新 • • 發佈:2018-03-24
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自動執行