Laksanakan Kod Sebaik sahaja Django Startup
Apabila mencipta kelas middleware Django tersuai, selalunya perlu melaksanakan kod sekali sahaja semasa permulaan. Walau bagaimanapun, menggunakan pendekatan standard yang digariskan oleh sdolan boleh menyebabkan kod yang diingini dilaksanakan dua kali.
Penyelesaian
Untuk memastikan pelaksanaan kod berlaku sekali sahaja, untuk Django versi 1.7 dan ke atas, gunakan cangkuk baharu yang disediakan oleh Django. Dalam fail apps.py apl anda:
<code class="python">from django.apps import AppConfig class MyAppConfig(AppConfig): name = 'myapp' verbose_name = "My Application" def ready(self): pass # Your startup code here</code>
Untuk versi Django sebelum 1.7, letakkan kod permulaan anda dalam mana-mana satu fail __init__.py INSTALLED_APPS anda:
<code class="python">def startup(): pass # Load a big thing startup()</code>
Apabila menggunakan ./manage.py runserver, kod ini akan dilaksanakan dua kali kerana pengesahan pelayan. Walau bagaimanapun, dalam penggunaan pengeluaran atau semasa muat semula pelayan automatik, kod hanya akan dilaksanakan sekali.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kod Sekali sahaja pada Django Startup?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!