stark组件前戏(1)之项目启动前加载指定文件
django项目启动时,可以自定义执行某个py文件,这需要在任意app的apps.py中的Config类定义ready方法,并调用。
from django.apps import AppConfig from django.utils.module_loading import autodiscover_modules class App01Config(AppConfig): name = 'app01' def ready(self): autodiscover_modules('xxx')
django在启动时,就会去找已注册的所有app的目录下找xxx.py并自动导入。
果执行两次,是因为django内部自动重启导致(一个检查代码是否有变化的线程),执行下面可以不让那个线程执行:
./manage.py runserver --noreload
提示:如果xxx.py执行的代码向 "某个神奇的地方"设置了一些值,之后的路由加载时,可以去 “某个神奇的地方"读取到设置的值。