Dalam fail pandangan saya, saya mahukan logik ini:
Artikel (apiview):
def get(self, reqeust, id): #logic def put(self, request, id): #logic def post(self, requst, id): #logic def delete(self, request, id): #logic
Saya mahukan URL pemegang seperti ini:
/articles/int:pk # Paparkan artikel dengan id=pk /articles/add # Tambah artikel ke pangkalan data Tunggu...
Tetapi saya ada soalan, saya tidak mahu menggunakan kelas yang berbeza untuk url yang berbeza, pada masa yang sama saya mahu jika saya memanggil /articles/add , panggilan kaedah pos, apakah cara terbaik untuk mencapai ini?
sry, saya sangat baru dengan python dan drf, saya akan menghargai bantuan tentang cara terbaik untuk melakukan ini,
Adakah saya melakukan perkara ini secara salah? Saya hanya tidak mahu menggunakan drf dalam kaedah apiview untuk menyediakan kelas yang berbeza untuk setiap siaran, dapatkan...
Apa yang anda huraikan di sini sudah wujud: iaitu ViewSet
[drf-doc]. Ini menggabungkan kaedah yang berbeza dalam kelas yang sama. Biasanya, gunakan serializer yang sama dsb. Jadi ia mengelompokkan secara logik apa yang selalunya hampir sama.
Untuk menghalakan item dengan betul, Router
[drf-doc] digunakan untuk membuat laluan yang sepadan. Sesetengahnya mempunyai kunci utama, seperti GET, PUT, PATCH dan DELETE, manakala POST tidak. Anda kemudian boleh menyesuaikannya lagi.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan url dan kelas yang sama untuk meletakkan, dapatkan, siarkan, padam fungsi dalam api asas kelas drf. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!