Django如何使文件在django自动执行

Posted Pythia丶陌乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django如何使文件在django自动执行相关的知识,希望对你有一定的参考价值。

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自动执行的主要内容,如果未能解决你的问题,请参考以下文章

文件更改时如何自动重新加载Django?

django - 如何使翻译工作?

如何使django全球化

使 django 项目文件夹的迁移不起作用

如何使 STATIC_URL 在外部 JS 文件(Django)中工作

Django - 在管理模板中保存我的对象后执行一个函数