0

我正在创建一个 django 应用程序作为 python 包,几乎类似于django-tinymce
关于 django-tinymce 有趣的一点是,每次我重新启动我的 web 服务器时,例如我运行:

python manage.py runserver

以某种方式自动开始运行 django-tinymce中的settings.py文件。
这怎么可能 ?
我只是在 INSTALLED_APPS 中添加 tinymce,除了里面的代码python2.7/site-packages/tinymce/settings.py开始运行,并且每次我重新启动我的 Web 服务器或运行任何 manage.py 命令时都会执行一些初始化操作。

4

2 回答 2

0

这样的初始化代码通常放在 Django 在启动或重启时运行的 models.py 中。在这个示例应用程序中,它只是导入运行的问题 - models.py 导入小部件和小部件导入设置。

于 2015-06-05T19:02:36.880 回答
0

作为 django 1.7,每个应用程序都可以包含一个 app.py 文件来执行它需要做的任何初始化。想象一下,我们有一个名为 profile 的应用程序。在您的应用程序目录中创建一个 apps.py,如下所示:

#apps.py 
from django.apps import AppConfig 
class ProfileConfig(AppConfig):
     name = "profiles"
     verbose_name = 'User Profiles'
     def ready(self):
         #do what ever you want

完成此行为的另一个步骤是指定应在应用程序的initdefault_app_config .py 中 发生的情况:

# profile/__init__.py
default_app_config = 'profile.apps.ProfileConfig'

此行为可用于许多用例,包括:更改项目设置、注册信号处理程序

更多细节可以在Django 1.7 release notesDjango docs:Applications中找到

于 2015-06-10T15:15:05.400 回答