DjangoアプリケーションをPycharmでデバッグモードで実行しています。コードを変更するたびに、システムチェックが実行されます。
pydev debugger: process 2354 is connecting
Performing system checks...
システムチェックをスキップ/このチェックを高速化する方法はありますか?
更新:コードの変更後のシステムチェックは遅すぎるため、無効にしたい。
残念ながら、コマンドライン引数や設定はありません。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
コマンドを導出することです。これは、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.
_
PyCharmのデバッガーを高速化する可能性のあるものが1つあります。それは、 "コードインサイトのためにランタイムタイプ情報を収集する"設定:[ファイル]> [設定]> [ビルド、実行、展開]> =の下にあります。 Pythonデバッガー。