Skip system checks on Django server in DEBUG mode in Pycharm Skip system checks on Django server in DEBUG mode in Pycharm django django

Skip system checks on Django server in DEBUG mode in Pycharm


The Problem

Unfortunately, there's no command-line argument or setting you can just turn on in order to turn off the checks in runserver. In general, there's the --skip-checks option which can turn off system checks but they are of no use for runserver.

If you read the code of the runserver command, you see that it essentially ignores the requires_system_checks and requires_migration_checks flags but instead explicitly calls self.check() and self.check_migrations() in its inner_run method, no matter what:

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 ...]

A Solution

What you could do is derive your own run command, which takes the runserver command but overrides the methods that perform the checks:

from django.core.management.commands.runserver import Command as RunServerclass 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"))

You need to put this under <app>/management/commands/run.py where <app> is whatever appropriate app should have this command. Then you can invoke it with ./manage.py run and you'll get something like:

Performing system checks...SKIPPING SYSTEM CHECKS!SKIPPING MIGRATION CHECKS!January 18, 2017 - 12:18:06Django version 1.10.2, using settings 'foo.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.


There's one thing that might speed up the PyCharm's debugger and that is to turn off the "Collect run-time types information for code insight" setting :located under File > Settings > Build, Execution, Deployment > Python Debugger.