Ответ 1
Проблема
К сожалению, нет аргументов или настроек командной строки, которые вы можете просто включить, чтобы отключить проверки в 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.