אם השתמשת במכשיר דיגיטלי כדי לשלוח ולקבל מידע, השתמשת ב-API. מפתחים יוצרים ממשקי API כדי לאפשר למשתמשים ליצור אינטראקציה עם נתונים מהאפליקציות שלהם.

יצירת API של REST היא דרך נוחה לשתף מידע. ממשקי API של REST הגדירו סטנדרטים המסדירים שיתוף נתונים בין מכשירים. כדי להבין איך ממשקי API של REST עובדים, אתה יכול לבנות אחד מאפס.

אתה יכול להשתמש במסגרת Django REST כדי לבנות ממשק API של REST ולהשתמש בו כדי להציג נתונים ממסד נתונים.

שימוש ב-Django עם REST API

אתה יכול השתמש בממשק API של REST כדי להביא נתונים מובנים דרך HTTP. כמו שפות ומסגרות רבות, Django מאפשר לך לבנות API משלך ולצרוך אחרים.

אתה צריך גם להתקין מראש את הדברים הבאים:

  1. הגרסה האחרונה של python.
  2. הגרסה האחרונה של pip.
  3. Pipenv (אם כי אתה יכול להשתמש ב-venv במקום אם אתה רוצה.)
  4. הגרסה האחרונה של Django.

לאחר שהתקנת את כל התוכנות החיוניות, אתה מוכן להתחיל.

1. התקן את Django REST Framework

מסגרת Django REST הוא ערכת כלים רבת עוצמה שתוכל להשתמש בה כדי לבנות ולהגדיר ממשקי API לאינטרנט. התכונות הניתנות להתאמה אישית הופכות אותו לבחירה פופולרית לבנות ממשקי API של REST.

instagram viewer

אתה יכול להתקין את מסגרת Django REST עם הפקודה הבאה:

pipenv להתקין djangorestframework

2. צור אפליקציית Django

ההוראות הבאות יסבירו כיצד ליצור אפליקציית מזון לאיסוף שמות ותיאורים של מאכלים קניהיים פופולריים. ה-API יביא בקשות ממסד נתונים כדי לאפשר למשתמשים ליצור אינטראקציה עם הנתונים האלה.

אפליקציות Django מגיעות עם מסד נתונים של SQLite, כך שלא תצטרכו להתקין מסד נתונים נוסף.

כדי ליצור אפליקציית Django, תחילה צור פרויקט בשם מזון עם הפקודה הבאה:

django-admin startproject food 

לאחר מכן, צור אפליקציית Django בשםאוכל קניה:

django-admin startapp kenyanfood

3. רשום את הגדרות פרויקט האפליקציה

רשום אתאוכל קניהאפליקציה בהגדרות הפרויקט תחת אפליקציות מותקנות מַעֲרָך. אם תדלג על שלב זה, Django לא יזהה את האפליקציה. כמו כן, רשום את מסגרת Django REST באותן הגדרות:

# הגדרת יישום

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'אוכל קניה',
'rest_framework',
]

4. רשום כתובות אתרים של אפליקציות

הירשם אוכל קניה כתובות האתרים של האפליקציה בפרויקט urls.py קובץ כפי שמוצג להלן:

מ django.contrib יְבוּא מנהל
מ django.urls יְבוּא נתיב, כולל

urlpatterns = [
נָתִיב('מנהל/', admin.site.urls),
נָתִיב('', כולל('kenyanfood.urls')),
]

5. צור תצוגה עבור ה-API

צור תצוגת דמה באפליקציה views.py קובץ, כך שהאפליקציה לא זורקת שגיאות. ראשית, ייבא את תְגוּבָה התנגדות@apiview דקורטור ממסגרת Django REST.

תְגוּבָה עוזר להחזיר נתונים מעוקרים פנימה JSON פורמט תוך כדי @apiview מציג את ה-API.

מ django.shortcuts יְבוּא לְדַקלֵם
מ rest_framework.response יְבוּא תְגוּבָה
מ rest_framework.decorators יְבוּא api_view

# צור את הדעות שלך כאן.
@api_view(['לקבל'])
defהשג אוכל(בַּקָשָׁה):
לַחֲזוֹר תְגוּבָה()

6. צור נתיב כתובת URL עבור האפליקציה

צור נתיב כתובת URL עבור תצוגת ה-API שיצרת. נקודת קצה זו מציגה את אוכל קניהנתונים.

מ django.urls יְבוּא נָתִיב
מ. יְבוּא צפיות
מ django.conf יְבוּא הגדרות

urlpatterns = [
נָתִיב('', views.getFood),
נָתִיב('הודעה/', views.postFood),
]

7. צור מודל עבור האפליקציה

מחלקת המודל של האפליקציה נקראת מזון. זה אמור להיראות כך:

מ django.db יְבוּא דגמים

# צור את הדגמים שלך כאן.
מעמדמזון(דגמים. דֶגֶם):
שם = דגמים. CharField (max_length=200)
תיאור = דגמים. CharField (max_length=500)

רשום את הדגם באפליקציה admin.py קובץ כפי שמוצג להלן:

מ django.contrib יְבוּא מנהל
מ .מודלים יְבוּא מזון

# רשום את הדגמים שלך כאן.
מנהל.אֲתַר.הירשם(מזון)

8. בצע הגירות

הַבָּא, להגר האפליקציה ליצירת טבלאות ב- SQLite מאגר מידע. אתה יכול לעשות זאת באמצעות הפקודה הבאה:

פִּיתוֹןלנהל.pyהגירותאוכל קניה

לאחר מכן, החל את ההגירות הללו על ידי הפעלת הפקודה הזו:

פִּיתוֹןלנהל.pyלהגר

הגירה מוצלחת תיראה כך:

העברות מוצלחות אומרות שמסד הנתונים יצר טבלאות עבור אוכל קניהאפליקציה.

9. הוסף נתונים למסד הנתונים

להשתמש ב מנהל ג'נגו GUI להזנת נתונים למסד הנתונים. מנהל ג'נגו יש ממשק נהדר להמחשה ולנהל את נתוני האפליקציה שלך.

לחלופין, אתה יכול להשתמש במעטפת python בשורת הפקודה כדי להזין נתונים באופן ידני למסד הנתונים. במדריך זה, תשתמשו בממשק הניהול של Django.

השתמש בפקודה הבאה כדי להגדיר את Django admin:

פִּיתוֹןלנהל.pyיוצר משתמש-על

כאשר תתבקש, הזן את שלך שם משתמש, דואר אלקטרוני וסיסמה. לאחר מכן תוכל לפתוח את דף הניהול באמצעות הקישור הבא:

http://127.0.0.1:8000/admin/

תראה את דף הכניסה:

לאחר שתתחבר, תראה את ממשק הניהול של Django עם קבוצות ו משתמשים דֶגֶם. שניהם מיועדים לאימות; ה מזון הדגם נמצא בסעיף למטה.

ניתן להוסיף ולמחוק מזון פריטים ממסד הנתונים מדף הניהול. הוסף למאגר כמה מעדנים קנייתים, כגון Ugali, Pilau ו-Chai.

כעת, כשבסיס הנתונים מכיל נתונים, צור את ה-API

10. עשה סדרה של הדגם

סדרות להמיר דגמי ג'נגו מורכבים ל JSON אובייקטים, מה שהופך את הנתונים לקריאה בקלות ב-API. סידורי הופך את הנתונים לקריאה יותר ב-API.

צור קובץ חדש באפליקציה שנקראת serializer.py

מ rest_framework יְבוּא סדרות
מ .מודלים יְבוּא מזון

מעמדFoodSerializer(מסדרות. Model Serializer):
מעמדמטא:
דגם=אוכל
שדות=('שֵׁם','תיאור')

אתה מייבא את סדרות מודול מה- rest_framework לארוז וליצור א FoodSerializer כיתה היורשת מה ModelSerializer מעמד.

לאחר מכן, ציין את מזון הדגם שברצונך לעשות בסידרה והשדות שברצונך להוסיף ל-API.

11. עדכן את התצוגה

לאחר מכן, עדכן את תצוגת ה-API עם ה- סידורי ו מזון דגמים.

ראשית, הגדר את א לקבל שיטה לאחזר את כל הנתונים ממסד הנתונים עם מזון. Objects.all() פוּנקצִיָה. לאחר מכן, העבירו את הנתונים בסידרה והחזרו אותם כתגובה JSON פוּרמָט.

מ django.shortcuts יְבוּא לְדַקלֵם
מ rest_framework.response יְבוּא תְגוּבָה
מ rest_framework.decorators יְבוּא api_view
מ .מודלים יְבוּא מזון
מ .מסדרת יְבוּא FoodSerializer

# צור את הדעות שלך כאן.
@api_view(['לקבל'])
defהשג אוכל(בַּקָשָׁה):
food = Food.objects.all()
serializer = FoodSerializer (אוכל, הרבה=נָכוֹן)
לַחֲזוֹר תגובה (serializer.data)

לאחר מכן, נווט לקישור כתובת האתר של השרת:

https://127.0.0.1:8000/

תראה את ה-API מציג נתונים ממסד הנתונים:

מזל טוב, יצרת ממשק API של REST!

12. הוסף נתונים עם שיטת POST

בדוק אם אתה יכול להשתמש ב- REST API כדי להוסיף נתונים למסד הנתונים.

ראשית, הגדר את א הודעה שיטה בתצוגה.

@api_view(['הודעה'])
defpostFood(בַּקָשָׁה):
serializer = FoodSerializer (data=request.data)
אםסידורי.is_valid():
סידורי.להציל()
לַחֲזוֹר תגובה (serializer.data)

לאחר מכן, הוסף נתיב באפליקציה urls.py כדי ליצור נקודת קצה עבור ה-API הודעה פונקציונליות.

urlpatterns = [
נָתִיב('',views.getFood),
נָתִיב('הודעה/',views.postFood),
]

לאחר מכן, נווט אל כתובת האתר הזו:

https://127.0.0.1:8000/post

אתה תראה את הודעה נקודת קצה. הוסף נתונים למסד הנתונים ב JSON פורמט ב- תוֹכֶן סעיף ולחץ על הודעה לַחְצָן. לדוגמה, הוסף פריט מזון חדש עם המבנה הזה:

{ "שֵׁם":"Maziwa mala", "תיאור":"חלב חמוץ" }

אתה תראה את הנתונים מוצגים באדום ב JSON פוּרמָט.

עכשיו, אם תנווט חזרה אל לקבל נקודת קצה http://127.0.0.1:8000/, אתה תראה את האוכל 'Maziwa Mala,' ותיאורו נוסף.

כעת יש לך REST API שיכול להציג ולהוסיף פריטים לאפליקציה. מה דעתך להתנסות עם אחרים CRUD שיטות? עובד עם עדכון ו לִמְחוֹק שיטות יגדילו את הפונקציונליות של REST API שלך.

כיצד ליצור ממשק API של REST עם Django

כעת תוכל ליצור REST API באמצעות Django. ראשית, צור אפליקציה עם מודל, הסדר את הנתונים וצור פונקציית תצוגה. לאחר מכן, כלול נקודות קצה של כתובת URL כדי להמחיש את הנתונים בפורמט JSON.

בניית ממשקי API של REST עם מסגרת Django REST היא דרך נוחה לשתף נתונים ולהעניק למשתמשים שלך חווית לקוח מעולה.