diff options
author | Harry <hjwp2@cantab.net> | 2016-01-28 18:13:27 +0000 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-02-01 13:40:53 -0500 |
commit | 0fb1185538aeec9004fb9c84d96b81dc2778f66a (patch) | |
tree | 60a278119922d1092b924ddd80de460da2809bd2 | |
parent | ecd502cfdb57706dd0e84d9928934bcae6b1ef25 (diff) | |
download | django-0fb1185538aeec9004fb9c84d96b81dc2778f66a.tar.gz |
Fixed #26152 -- Documented how to avoid django.setup() deadlock in standalone scripts.
-rw-r--r-- | docs/topics/settings.txt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/topics/settings.txt b/docs/topics/settings.txt index 70a4783da3..8b14d3ba52 100644 --- a/docs/topics/settings.txt +++ b/docs/topics/settings.txt @@ -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>` |