python - 在 Pycharm 中以 DEBUG 模式跳过 Django 服务器上的系统检查

标签 python django debugging pycharm pydev

我在 DEBUG 模式下在 Pycharm 中运行 Django 应用程序。 每次我更改时都会执行一些代码系统检查。

pydev debugger: process 2354 is connecting

Performing system checks...

有什么方法可以跳过系统检查/加快此检查吗?

更新:我想在代码更改后禁用系统检查,因为它们太慢了。

最佳答案

问题

不幸的是,没有命令行参数或设置可以打开以关闭 runserver 中的检查。 . 一般,有--skip-checks可以关闭系统检查的选项,但它们对 runserver 没有用.

如果您阅读 runserver 的代码命令,您会看到它基本上忽略了 requires_system_checksrequires_migration_checks标志,而是显式调用 self.check()self.check_migrations()在其 inner_run method ,无论如何:

def inner_run(self, *args, **options):
    [ Earlier irrelevant code omitted ...]

    self.stdout.write("Performing system checks...\n\n")
    self.check(display_num_errors=True)
    # Need to check migrations here, so can't use the
    # requires_migrations_check attribute.
    self.check_migrations()

    [ ... more code ...]

解决方案

你可以做的是推导出你自己的run命令,它采用 runserver命令但覆盖执行检查的方法:

from django.core.management.commands.runserver import Command as RunServer

class Command(RunServer):

    def check(self, *args, **kwargs):
        self.stdout.write(self.style.WARNING("SKIPPING SYSTEM CHECKS!\n"))

    def check_migrations(self, *args, **kwargs):
        self.stdout.write(self.style.WARNING("SKIPPING MIGRATION CHECKS!\n"))

你需要把它放在 <app>/management/commands/run.py 下其中 <app>是什么合适的应用程序应该有这个命令。然后你可以用 ./manage.py run 调用它你会得到类似的东西:

Performing system checks...

SKIPPING SYSTEM CHECKS!

SKIPPING MIGRATION CHECKS!

January 18, 2017 - 12:18:06
Django version 1.10.2, using settings 'foo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

关于python - 在 Pycharm 中以 DEBUG 模式跳过 Django 服务器上的系统检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41438593/

相关文章:

python | tkinter : What does tkinter. END 做什么?

javascript - Django 到 javascript 模板标签

c++ - Visual Studio 2013 调试器显示 std::string 的奇怪值

python - Django 'if and' 模板

django - `SyntaxError: no binding for nonlocal ' topics_with_log_tag ' found` 虽然它是有界的

.net - WinDbg 和 SoS,如何打印/转储大字符串?

windows - 如何在启动时关闭 Windows 内核调试?

python - Django - 按管理员中的用户配置文件字段排序

python - 使用 PySide 和多处理卡住 GUI

python - 我试图在Visual Studio代码上运行Python,但遇到未找到文件的错误