Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Melaksanakan Kod Sekali sahaja di Django Startup?

Bagaimana untuk Melaksanakan Kod Sekali sahaja di Django Startup?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-08 03:28:02429semak imbas

How to Execute Code Only Once at Django Startup?

Melaksanakan Kod Sekali di Django Startup

Masalah:

Apabila melaksanakan kelas middleware Django yang bertujuan untuk melaksanakan hanya sekali pada permulaan untuk memulakan kod tambahan, mesej "Hello world" dicetak dua kali.

Penyelesaian:

Untuk Django >= 1.7:

Gunakan kaedah ready() dalam kelas AppConfig:

<code class="python"># myapp/apps.py
class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"

    def ready(self):
        # startup code goes here</code>

Untuk Django < 1.7:

Letakkan kod permulaan dalam fail __init__.py mana-mana apl yang dipasang:

<code class="python"># myapp/__init__.py
def startup():
    # startup code goes here

startup()

Penjelasan:

Menggunakan kaedah ready() dalam Django >= 1.7 memastikan bahawa kod dilaksanakan selepas Django selesai memuatkan semua model dan migrasi. Untuk Django < 1.7, meletakkan kod dalam __init__.py memastikan ia berjalan semasa import, yang berlaku sekali setiap proses.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kod Sekali sahaja di Django Startup?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn