Bagaimana untuk Melaksanakan Kod Sekali pada Django Startup dengan AppConfig?

Linda Hamilton
Lepaskan: 2024-11-01 12:49:02
asal
820 orang telah melayarinya

How to Execute Code Once on Django Startup with AppConfig?

Laksanakan Kod Sekali pada Django Startup dengan AppConfig

Apabila membina aplikasi Django, mungkin terdapat keadaan di mana anda mahu menjalankan kod tertentu sekali sahaja pada permulaan. Kelas perisian tengah Django boleh digunakan untuk mencapai ini, tetapi dalam versi terdahulu, ia boleh menyebabkan kod dilaksanakan lebih daripada sekali.

Penyelesaian untuk Versi Django < 1.7

Untuk versi Django sebelum 1.7, adalah disyorkan untuk meletakkan kod permulaan dalam salah satu fail __init__.py INSTALLED_APPS'. Berikut ialah contoh:

<code class="python">def startup():
    pass # load a big thing

startup()</code>
Salin selepas log masuk

Penyelesaian untuk Django 1.7 dan Ke Atas

Django 1.7 memperkenalkan kaedah AppConfig.ready(), yang membolehkan anda menentukan kod permulaan. Menggunakan kaedah ini memastikan bahawa kod berjalan sekali sahaja semasa pemuatan apl.

<code class="python"># myapp/apps.py
from django.apps import AppConfig

class MyAppConfig(AppConfig):
    name = 'myapp'
    verbose_name = "My Application"

    def ready(self):
        pass # startup code here</code>
Salin selepas log masuk

Nota Tambahan

Apabila menggunakan ./manage.py runserver, kod permulaan mungkin laksana dua kali kerana operasi pelayan dalaman. Walau bagaimanapun, dalam senario penggunaan biasa atau muat semula automatik, kod tersebut dilaksanakan sekali sahaja.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!