[1.9.x] Fixed #26152 -- Documented how to avoid django.setup() deadlock in standalone scripts.

Backport of 0fb1185538aeec9004fb9c84d96b81dc2778f66a from master
This commit is contained in:
Harry 2016-01-28 18:13:27 +00:00 committed by Tim Graham
parent 34fae0a4f7
commit fe41a134bc

View File

@ -291,6 +291,17 @@ Note that calling ``django.setup()`` is only necessary if your code is truly
standalone. When invoked by your Web server, or through :doc:`django-admin
</ref/django-admin>`, Django will handle this for you.
.. admonition:: ``django.setup()`` may only be called once.
Therefore, avoid putting reusable application logic in standalone scripts
so that you have to import from the script elsewhere in your application.
If you can't avoid that, put the call to ``django.setup()`` inside an
``if`` block::
if __name__ == '__main__':
import django
django.setup()
.. seealso::
:doc:`The Settings Reference </ref/settings>`