Saya memiliki proyek Django dan tampilan API yang diimplementasikan dengan kerangka kerja Rest. Saya melakukan caching menggunakan dekorator @cache_page tetapi saya perlu menerapkan pembatalan cache dan saya tidak melihat cara melakukannya - apakah saya memerlukan dekorator khusus?

Masalah: Tampilan memeriksa akses KUNCI API dan menyimpannya dari pemeriksaan akses sebelumnya tetapi, jika pengguna mengubah KUNCI API sebelum cache kedaluwarsa, tampilan akan mengembalikan status OK dari kunci yang tidak ada lagi.

0
Diego Moraes 17 April 2020, 20:10

1 menjawab

Jawaban Terbaik

Ya, Anda memerlukan dekorator cache yang memperhitungkan konteks otentikasi/pengguna. cache_page() hanya berfungsi untuk permintaan GET, dan kunci berdasarkan URL saja.

Lebih baik lagi, meskipun,

  1. Jangan gunakan cache sampai Anda yakin membutuhkannya
  2. Jika Anda memang membutuhkannya (pikirkan alasannya; pembatalan cache adalah salah satu dari dua hal yang sulit), gunakan cache yang lebih terperinci dalam tampilan Anda, bukan cache_page().
0
AKX 17 April 2020, 17:15