dom*_*nho 17 python django debugging pydev pycharm
我在DEBUG模式下运行Pycharm中的django应用程序.每当我更改一些代码系统检查时执行.
pydev debugger: process 2354 is connecting
Performing system checks...
Run Code Online (Sandbox Code Playgroud)
有没有办法跳过系统检查/加快这项检查?
更新:我想在代码更改后禁用系统检查,因为它们太慢了.
Lou*_*uis 24
不幸的是,没有命令行参数或设置你可以打开以关闭检查runserver.一般来说,有一个--skip-checks选项可以关闭系统检查,但它们是没用的runserver.
如果您读取runserver命令的代码,您会看到它实际上忽略了requires_system_checks和requires_migration_checks标志,而是显式调用self.check()并self.check_migrations()在其inner_run方法中,无论如何:
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 Code Online (Sandbox Code Playgroud)
你可以做的是派生你自己的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"))
Run Code Online (Sandbox Code Playgroud)
你需要把这个在<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.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3850 次 |
| 最近记录: |