NextJS menggunakan Django API - cara memilih corak terbaik
P粉032977207
P粉032977207 2024-01-10 16:58:42
0
1
366

Saya menjalankan GeoDjango pada Titisan Lautan Digital dan saya menulis semula projek daripada VueJs kepada NextJs yang dihoskan di Vercel.

Dalam Vue, kami mempunyai model perkhidmatan berkaitan storan yang bertanggungjawab untuk mendapatkan dan mengemas kini data.

Saya dapati bahagian pengambilan agak bagus, tetapi saya masih cuba memikirkan cara terbaik untuk mengemas kini data.

Bagaimanakah saya harus membina lapisan CRUD tanpa menggunakan folder API NextJs (saya tidak mahu bahagian belakang lain memanggil bahagian belakang Django saya).

Perlukah saya menggunakan konteks?

Perlukah saya menggunakan perisian tengah?

Perlukah saya membuat perkhidmatan tersuai? Jadi apa yang perlu dipanggil mereka? Adakah terdapat sesuatu yang setara untuk disimpan dalam NextJs?

Saya tanya sebab nak elakkan kekusutan memandangkan sekarang saya guna fetch POST di page. Saya menggunakan NextAuth yang memberikan saya konteks dengan token jwt.

Terima kasih atas sebarang petua

P粉032977207
P粉032977207

membalas semua(1)
P粉373596828

Untuk Next.js, anda boleh menggunakan override untuk meminta proksi ke bahagian belakang anda. Ini membolehkan anda mengakses hujung belakang sedia ada daripada URL relatif seolah-olah ia berada dalam laluan API. Anda boleh melakukan ini secara eksplisit untuk setiap laluan, atau anda boleh menggunakan corak penerimaan tambahan, yang akan menyemak laluan sedia ada dalam aplikasi Next.js anda sebelum memproksi permintaan kembali ke pelayan Django.

// next.config.js
module.exports = {
  async rewrites() {
    return {
      fallback: [
        {
          source: '/api/:path*',
          destination: `https://your.django.app/api/:path*`,
        },
      ],
    }
  },
}
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!