mirror of https://github.com/django/django.git
Fixed #35591 -- Added unsuitable for production console warning to runserver.
This commit is contained in:
parent
9582745257
commit
69aa13ffb9
|
@ -188,3 +188,12 @@ class Command(BaseCommand):
|
|||
f"Quit the server with {quit_command}.",
|
||||
file=self.stdout,
|
||||
)
|
||||
if os.environ.get("HIDE_PRODUCTION_WARNING") != "true":
|
||||
self.stdout.write(
|
||||
self.style.WARNING(
|
||||
"WARNING: This is a development server. Do not use it in a "
|
||||
"production setting. Use a production WSGI or ASGI server "
|
||||
"instead.\nFor more information on production servers see: "
|
||||
"https://docs.djangoproject.com/en/stable/howto/deployment/"
|
||||
)
|
||||
)
|
||||
|
|
|
@ -134,6 +134,9 @@ You'll see the following output on the command line:
|
|||
Starting development server at http://127.0.0.1:8000/
|
||||
Quit the server with CONTROL-C.
|
||||
|
||||
WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
|
||||
For more information on production servers see: https://docs.djangoproject.com/en/stable/howto/deployment/
|
||||
|
||||
.. note::
|
||||
Ignore the warning about unapplied database migrations for now; we'll deal
|
||||
with the database shortly.
|
||||
|
|
|
@ -947,6 +947,20 @@ multithreaded by default.
|
|||
Uses IPv6 for the development server. This changes the default IP address from
|
||||
``127.0.0.1`` to ``::1``.
|
||||
|
||||
.. envvar:: HIDE_PRODUCTION_WARNING
|
||||
|
||||
.. versionadded:: 5.2
|
||||
|
||||
By default, a warning is printed to the console that ``runserver`` is not
|
||||
suitable for production:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
WARNING: This is a development server. Do not use it in a production setting. Use a production WSGI or ASGI server instead.
|
||||
For more information on production servers see: https://docs.djangoproject.com/en/stable/howto/deployment/
|
||||
|
||||
Set this environment variable to ``"true"`` to hide this warning.
|
||||
|
||||
Examples of using different ports and addresses
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
|
@ -194,7 +194,10 @@ Logging
|
|||
Management Commands
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* ...
|
||||
* A new warning is printed to the console when running :djadmin:`runserver` that
|
||||
``runserver`` is unsuitable for production. This warning can be hidden by
|
||||
setting the :envvar:`HIDE_PRODUCTION_WARNING` environment variable to
|
||||
``"true"``.
|
||||
|
||||
Migrations
|
||||
~~~~~~~~~~
|
||||
|
|
|
@ -1597,6 +1597,13 @@ class ManageRunserver(SimpleTestCase):
|
|||
"Starting development server at http://0.0.0.0:8000/",
|
||||
self.output.getvalue(),
|
||||
)
|
||||
self.assertIn(
|
||||
"WARNING: This is a development server. Do not use it in a "
|
||||
"production setting. Use a production WSGI or ASGI server instead."
|
||||
"\nFor more information on production servers see: "
|
||||
"https://docs.djangoproject.com/en/stable/howto/deployment/",
|
||||
self.output.getvalue(),
|
||||
)
|
||||
|
||||
def test_on_bind(self):
|
||||
self.cmd.addr = "127.0.0.1"
|
||||
|
@ -1606,6 +1613,30 @@ class ManageRunserver(SimpleTestCase):
|
|||
"Starting development server at http://127.0.0.1:14437/",
|
||||
self.output.getvalue(),
|
||||
)
|
||||
self.assertIn(
|
||||
"WARNING: This is a development server. Do not use it in a "
|
||||
"production setting. Use a production WSGI or ASGI server instead."
|
||||
"\nFor more information on production servers see: "
|
||||
"https://docs.djangoproject.com/en/stable/howto/deployment/",
|
||||
self.output.getvalue(),
|
||||
)
|
||||
|
||||
@mock.patch.dict(os.environ, {"HIDE_PRODUCTION_WARNING": "true"})
|
||||
def test_hide_production_warning_with_environment_variable(self):
|
||||
self.cmd.addr = "0"
|
||||
self.cmd._raw_ipv6 = False
|
||||
self.cmd.on_bind("8000")
|
||||
self.assertIn(
|
||||
"Starting development server at http://0.0.0.0:8000/",
|
||||
self.output.getvalue(),
|
||||
)
|
||||
self.assertNotIn(
|
||||
"WARNING: This is a development server. Do not use it in a "
|
||||
"production setting. Use a production WSGI or ASGI server instead."
|
||||
"\nFor more information on production servers see: "
|
||||
"https://docs.djangoproject.com/en/stable/howto/deployment/",
|
||||
self.output.getvalue(),
|
||||
)
|
||||
|
||||
@unittest.skipUnless(socket.has_ipv6, "platform doesn't support IPv6")
|
||||
def test_runner_addrport_ipv6(self):
|
||||
|
|
Loading…
Reference in New Issue