Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah Rangka Kerja Django Rest?

Apakah Rangka Kerja Django Rest?

王林
王林asal
2024-08-01 21:14:051134semak imbas

What is Django Rest Framework?

Dalam artikel ini, saya akan menerangkan Rangka Kerja Rehat. Sebelum pergi ke butiran teknikal, mari kita bincangkan sedikit tentang apa itu Rest Framework.
Rangka Kerja Rehat ialah rangka kerja lanjutan yang membolehkan kami membuat kod bahagian belakang biasa untuk kedua-dua aplikasi mudah alih, aplikasi web dan aplikasi desktop. Contohnya, anda boleh menggunakan pelayan bahagian belakang yang anda kodkan dengan Rest Framewok dalam kedua-dua aplikasi mudah alih anda dan aplikasi web anda.
Anda boleh membangunkan aplikasi anda dengan menggunakan Rangka Kerja Rehat dengan teknologi bahagian hadapan seperti Angular, React, Vue. Memandangkan Rangka Kerja Rehat memberikan respons dalam struktur biasa dalam pengaturcaraan, anda boleh menggunakan output ini dengan sama ada Angular atau React. Jadi apakah jenis output ini? Sudah tentu, struktur seperti JSON. Secara pilihan, anda boleh menghantar output ini dalam struktur yang berbeza ke bahagian hadapan, sudah tentu. Sekarang mari kita beralih kepada Pengekodan

Mencipta Projek
1) django-admin startproject projectName

Kami telah mencipta projek kami. Sekarang mari jalankan projek kami.

2) python manage.py runserver

Kemudian, mari tulis arahan yang diperlukan untuk mencipta jadual yang diperlukan dalam pangkalan data kami.

3) python manage.py berhijrah

Jangan lupa untuk menambah aplikasi yang kami buat pada direktori INSTALLED_APPS di bawah fail settings.py.
Semuanya ok. Sekarang kita boleh beralih kepada langkah yang diperlukan untuk rangka kerja yang lain.
Untuk memasang Rangka Kerja Rehat pada komputer kami, kami perlu menjalankan arahan berikut dalam terminal kami.

1) pip pasang djangorestframework
contohnya;
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rangka_rehat',
'POSTAPP',
]

Sekarang kami telah menambah rangka kerja Rehat, kami boleh mula mencipta API. Untuk melakukan ini, kami perlu mencipta folder yang dipanggil API dan beberapa fail dalam folder aplikasi yang kami buat. Mari tambah fail ini:

PROJEK_ANDA/
api/
init.py
pandangan.py
urls.py
serializers.py

Dengan fail ** init.py**, kami menunjukkan bahawa folder ini ialah modul Python
Fail views.py ** ialah fail tempat kami akan menulis kelas atau fungsi yang akan memberikan jawapan yang akan kami hantar kepada permintaan masuk.
Fail **urls.py
ialah fail di mana kami akan menetapkan url API kami, seperti yang anda boleh meneka daripada struktur Django.
Fail serializers.py ialah fail di mana kami akan menulis struktur yang akan meletakkan set pertanyaan masuk kami ke dalam format yang kami mahu (JSON, contohnya). Kami akan membincangkan butiran ini secara beransur-ansur.
Mula-mula, mari pergi ke fail urls.py yang tersedia dalam folder utama projek kami dan tentukan laluan url mengikut folder API yang kami buat.

urlpatterns = [
laluan('admin/', admin.site.urls),
path("api/post/",include("YOUR_PROJECT.api.urls",namespace="post")),
]

Kami sudah mempunyai laluan pentadbir. Kami juga menambah laluan baharu sebagai api/post. Dengan kaedah Sertakan, kami mengubah hala permintaan yang datang ke api/post/ ke fail url kami dalam folder API yang kami buat.
Sekarang, mari kita tulis model dengan cepat untuk siaran yang kami buat. Mari ke fail models.py dalam folder YOUR_PROJECT.

PostModel kelas(model.Model):
Pengarang = models.ForeignKey(Pengguna,on_delete=models.CASCADE)
Tajuk = models.CharField(max_length=50)
Kandungan = model.TextField()
Draf = models.BooleanField(default=False)
ModifiedDate = models.DateTimeField(editable=False)

Selepas mencipta model kami, mari tulis kod yang diperlukan dalam terminal kami untuk membuat jadual dalam pangkalan data.

python manage.py makemigrations

Dengan kod ini, kami mencipta fail Python yang diperlukan untuk mencipta jadual dalam pangkalan data kami. Kami akan menjalankan arahan berikut untuk mencipta jadual.

*python manage.py berhijrah *

Sekarang mari pergi ke fail urls.py kosong kami dalam folder api di bawah direktori YOUR_PROJECT yang kami buat.

dari laluan import django.urls
daripada .views import YourProjectAPIView

app_name="post"
urlpatterns = [
path("list/",YourProjectAPIView.as_view(),name="your_project"),
]

Mula-mula, kami menetapkan nama aplikasi dengan app_name=”post”.
Sekarang, kami cuba mengimport pandangan yang belum kami buat dan cuba menggunakannya mengikut laluan kami. Mari segera buat pandangan yang namanya kami tulis dalam fail views.py kami di bawah direktori YOUR_PROJECT/api.
Mula-mula, mari buat paparan di mana kami akan menghantar semua siaran dalam pangkalan data dengan permintaan dalam struktur JSON.

dari POSTAPP.models import PostModel
daripada rest_framework.generics import ListAPIView

kelas PostListAPIView(ListAPIView):
serializer_class = PostSerializer
queryset = PostModel.objects.all()

Mari terangkan apa yang kami lakukan di sini. Kami mencipta paparan menggunakan kelas ListAPIView, yang disediakan untuk proses penyenaraian dalam Rangka Kerja Rehat. Mula-mula, kita tentukan model mana yang akan kita kembalikan dengan pembolehubah set pertanyaan. Dan kita perlu menentukan kelas serializer kami yang akan mensiri data yang datang daripada model ini, iaitu set pertanyaan. Lagipun, kami tidak akan menghantar set pertanyaan kepada pihak lain. Kami akan menghantar objek JSON bersiri. Struktur yang akan menukar set pertanyaan kepada objek JSON akan menjadi penyeri bersiri yang akan kami buat.
Buat masa ini, saya telah mencipta serializer yang dipanggil PostSerializer dalam pembolehubah serializer_class. Kami akan mencipta serializer ini dalam fail serializers.py dalam direktori yang sama. Jom buat sekarang.

daripada rest_framework import serializers

kelas YourProjectSerializer(serializers.ModelSerializer):
kelas Meta:
model = PostModel
medan = ["Pengarang","Tajuk","Kandungan",'Draf','Tarikh Diubahsuai']

Atas ialah kandungan terperinci Apakah Rangka Kerja Django Rest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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