django项目启动时,自定义执行某个py文件
在任意的app下的apps.py中的Config类下自定义ready()方法,并且调用autodiscover_modules。
app01/apps.py
1 from django.apps import AppConfig2 from django.utils.module_loading import autodiscover_modules3 4 5 class App01Config(AppConfig):6 ????name = ‘app01‘7 8 ????def ready(self):9 ????????autodiscover_modules(‘xxx.py‘)
app02/apps.py
1 from django.apps import AppConfig2 from django.utils.module_loading import autodiscover_modules3 4 class App02Config(AppConfig):5 ????name = ‘app02‘6 7 ????def ready(self):8 ????????autodiscover_modules(‘xxx.py‘)
为了验证我们在urls.py打印一句话
1 from django.contrib import admin2 from django.urls import path3 4 print(‘路由开始加载‘)5 urlpatterns = [6 ????path(‘admin/‘, admin.site.urls),7 ]
然后分别在两个项目目录下新建xxx.py文件,代码如下
1 # app01/xxx.py2 print(‘app01下的xxx.py‘)3 4 # app02/xxx.py5 print(‘app02下的xxx.py‘)
一切都准备好了,开始运行吧。
效果图已经说明我们自定义执行某个py文件成功了。
注意:为什么会执行两遍呢?因为WiMAX的django是默认重启的。会自动检测我们的代码是否改动。
如果不想看到,执行的时候命令:python manage.py runserver --noreload
开发必备知识点--django项目启动时,url加载之前,执行某个.py文件
原文地址:https://www.cnblogs.com/xjmlove/p/10087053.html