当前位置: 首页 > 面试题库 >

Django启动代码放在哪里?

昝欣可
2023-03-14
问题内容

我想在服务器启动(开发和生产)时执行以下代码行:

from django.core import management
management.call_command('syncdb', interactive=False)

放入settings.py它不起作用,因为它需要先加载设置。

将它们放在视图中并从外部访问该视图也不起作用,因为有些中间件正在使用该数据库,并且这些中间件将失败并且不允许我访问该视图。

将它们放在中间件中是可行的,但是每次访问我的应用程序时都会调用它们。一种可能的解决方案可能是创建一个完成所有工作的中间件,然后将其从中间件中删除,MIDDLEWARE_CLASSES因此不再调用它。我可以在没有太多猴子补丁的情况下做到吗?


问题答案:

写的中间件,这是否在__init__事后提高django.core.exceptions.MiddlewareNotUsed__init__,Django会删除它为所有请求:)。__init__是在启动时调用的,而不是在第一个请求时调用的,因此不会阻止你的第一个用户。



 类似资料:
  • 问题内容: 我将所有活动都转换为片段,以便可以在ViewPager中使用它们。 我已经搜索过了,但是找不到满意的答案,所以这就是为什么我在这里问这个问题。 在我的活动中,我已经在该方法中编写了一些代码。例如,我调用some 以便将一些xml按钮链接到我的Activity。我还使方法中的所有视图在,设置,用文本填充和删除Notification时不可见。 我的问题是:我应将此代码放在片段的什么位置?

  • 问题内容: 我正在编写一个Django中间件类,该类只想在启动时执行一次,以初始化一些其他人工代码。我遵循了sdolan 在此处发布的非常好的解决方案,但是“ Hello”消息两次输出到终端。例如 在我的Django设置文件中,该类已包含在列表中。 但是当我使用runserver运行Django并请求页面时,我进入了终端 有什么想法为什么要打印两次“ Hello world”?谢谢。 问题答案:

  • 问题内容: 我正在编写一个Django中间件类,该类只想在启动时执行一次,以初始化一些其他人工代码。我遵循了sdolan 在此处发布的非常好的解决方案,但是“ Hello”消息两次输出到终端。例如 在我的Django设置文件中,该类已包含在列表中。 但是当我使用runserver运行Django并请求页面时,我进入了终端 有什么想法为什么要打印两次“ Hello world”?谢谢。 问题答案:

  • 很好的一天, 我有一些自定义代码从以前的非mvc应用程序。这都是单元测试之类的。现在,我需要把它放在laravel应用程序中。它们不是控制器、模型或视图?这是否意味着我必须将它们与Symfony和Swiftmailer文件夹一起放入供应商文件夹?

  • 本文向大家介绍Google Analytics(分析)跟踪代码应放在哪里?,包括了Google Analytics(分析)跟踪代码应放在哪里?的使用技巧和注意事项,需要的朋友参考一下 将您的网站与Google Analytics(分析)集成时,请在代码中添加跟踪代码。这将使Google Analytics(分析)可以跟踪页面浏览量并提供其他分析。 复制代码并将其放置在您关闭网站代码中的<head>

  • 我在工作(Ubuntu)和家庭(Windows 7)中都使用PhpStorm。我在家里的版本中缺少的一件事是“从源代码滚动”按钮,如下所示: 在我的家庭版本中完全没有。我已经找过了,但是我得到的只是帮助设置“从源滚动”热键的插件的结果,关于它不能正常工作的报告,或者(看起来)不相关的事情,比如这里。 这个按钮是一个插件吗?还是它随基础安装一起来的?我想做的就是直接跳转到我当前打开的文件,截图中的按