Sebagai contoh, jika anda menggunakan Django untuk membina tapak web, kebanyakan halaman akan mengandungi maklumat pengguna, seperti nama pengguna, avatar, dsb.
Tetapi mustahil untuk saya menghantar pembolehubah pengguna ke dalam konteks untuk setiap paparan, bukan?
Bagaimana saya biasanya mencapai keperluan saya?
Anda perlu terlalu risau, anda tidak perlu menulisnya satu per satu secara manual, ia sudah ada secara lalai, hanya gunakannya, contohnya: {{user.username}}
Tetapi tiada maklumat medan tersuai seperti avatar.
Atau anda boleh memperibadikan context_processors.py untuk mengembalikan maklumat yang anda inginkan, dan kemudian mengimportnya dalam settings.py. Tidak perlu kembali dalam setiap fungsi
Sepatutnya {{request.user.username}}.
Dan django menyokong tetapan pembolehubah global
Selepas pengguna log masuk, maklumat pengguna secara amnya akan disimpan dalam request.user Tidak perlu menghantar pembolehubah pengguna ke dalam konteksnya ialah django.template.context_processors.request dirujuk dalam tetapan
.Maksud tambahan: Jika bahagian kandungan tetap muncul pada banyak halaman, anda boleh menggunakan warisan templat untuk mengekstrak bahagian yang sama dan mengubah suai kandungan templat melalui lanjutan dan sertakan.