برنامه نویسی

چارچوب استراحت جنگو چیست؟

Summarize this content to 400 words in Persian Lang
در این مقاله Rest Framework را توضیح خواهم داد. قبل از پرداختن به جزئیات فنی، اجازه دهید کمی در مورد Rest Framework صحبت کنیم.Rest Framework یک فریمورک پیشرفته است که به ما امکان می دهد یک Back-end مشترک را برای برنامه های موبایل، برنامه های کاربردی وب و برنامه های دسکتاپ کدنویسی کنیم. برای مثال، می‌توانید از یک سرور بک‌اند که با Rest Framewok کدگذاری کرده‌اید، هم در برنامه موبایل و هم در برنامه وب خود استفاده کنید.می توانید برنامه های خود را با استفاده از Rest Framework با فناوری های front end مانند Angular، React، Vue توسعه دهید. از آنجایی که Rest Framework در یک ساختار مشترک در برنامه نویسی پاسخ می دهد، می توانید از این خروجی ها با Angular یا React استفاده کنید. پس انواع این خروجی ها چیست؟ البته ساختارهایی مانند JSON. البته به صورت اختیاری، می‌توانید این خروجی‌ها را در ساختارهای مختلف به قسمت جلویی ارسال کنید. حالا بریم سراغ کدنویسی

ایجاد یک پروژه1) django-admin startprojectProjeName

ما پروژه خود را ایجاد کرده ایم. حالا بیایید پروژه خود را اجرا کنیم.

2) python manager.py runserver

سپس دستورات لازم را برای ایجاد جداول لازم در پایگاه داده خود بنویسیم.

3) python manager.py مهاجرت کنید

فراموش نکنیم که برنامه‌ای را که ایجاد کرده‌ایم به فهرست INSTALLED_APPS در فایل settings.py اضافه کنیم.همه چیز خوبه. اکنون می توانیم به مراحل لازم برای چارچوب بقیه برویم.برای نصب Rest Framework بر روی کامپیوتر خود، باید دستورات زیر را در ترمینال خود اجرا کنیم.

1) پیپ نصب djangorestframework مثلا؛INSTALLED_APPS = [‘django.contrib.admin’,’django.contrib.auth’,’django.contrib.contenttypes’,’django.contrib.sessions’,’django.contrib.messages’,’django.contrib.staticfiles’,’rest_framework’,’POSTAPP’,]

اکنون که چارچوب Rest را اضافه کرده ایم، می توانیم شروع به ایجاد API کنیم. برای این کار باید یک پوشه به نام API و چند فایل در پوشه اپلیکیشنی که ساختیم ایجاد کنیم. بیایید این فایل ها را اضافه کنیم:

YOUR_PROJECT/api/init.pyviews.pyurls.pyserializers.py

با ** initفایل .py**، نشان می دهیم که این پوشه یک ماژول پایتون استاین فایل views.py ** فایلی است که در آن کلاس ها یا توابعی را می نویسیم که پاسخ هایی را که به درخواست های دریافتی ارسال می کنیم ارائه می دهد.**urls.py فایل همانگونه که از ساختار جنگو می توانید حدس بزنید، فایلی است که آدرس های API خود را در آن تنظیم می کنیم.این serializers.py file فایلی است که در آن ساختارهایی را می نویسیم که مجموعه های پرس و جوی ورودی ما را در قالب هایی که می خواهیم (برای مثال JSON) قرار می دهد. به تدریج وارد جزئیات این موضوع خواهیم شد.ابتدا به فایل urls.py که در پوشه اصلی پروژه ما آماده است می رویم و مسیرهای url را با توجه به پوشه API که ایجاد کردیم تعریف می کنیم.

urlpattern's = [path(‘admin/’, admin.site.urls),path(“api/post/”,include(“YOUR_PROJECT.api.urls”,namespace=”post”)),]

ما قبلا یک مسیر مدیریت داریم. ما همچنین یک مسیر جدید به عنوان api/post اضافه کردیم. با متد Include، درخواست‌هایی که به api/post/ می‌رسیدند را به فایل url خود در پوشه API که ایجاد کردیم هدایت کردیم.حالا بیایید به سرعت یک مدل برای پستی که ایجاد کردیم بنویسیم. بیایید به فایل models.py در پوشه YOUR_PROJECT برسیم.

کلاس PostModel (models.Model):نویسنده = models.ForeignKey(User,on_delete=models.CASCADE)عنوان = models.CharField(max_length=50)Content = models.TextField()پیش نویس = models.BooleanField(default=False)ModifiedDate = models.DateTimeField(قابل ویرایش=نادرست)

پس از ایجاد مدل خود، کدهای لازم را در ترمینال خود برای ایجاد جداول در پایگاه داده بنویسیم.

python manager.py makemigrations

با این کدها، فایل های پایتون لازم برای ایجاد جداول در پایگاه داده خود را ایجاد کردیم. برای ایجاد جداول دستورات زیر را اجرا می کنیم.

*python manager.py migrate *

حالا بیایید به فایل خالی urls.py خود در پوشه api در زیر پوشه YOUR_PROJECT که ایجاد کردیم بیاییم.

از مسیر واردات django.urlsاز .views YourProjectAPIView را وارد کنید

app_name = “پست”urlpattern's = [path(“list/”,YourProjectAPIView.as_view(),name=”your_project”),]

ابتدا نام اپلیکیشن را با app_name=”post” مشخص کردیم.حال سعی کردیم نماهایی را که هنوز ایجاد نکرده ایم وارد کنیم و سعی کردیم مطابق مسیر خود از آنها استفاده کنیم. بیایید فوراً نماهایی را که نام آنها را در فایل views.py خود نوشته‌ایم در زیر پوشه YOUR_PROJECT/api ایجاد کنیم.ابتدا یک نمای ایجاد می کنیم که در آن تمام پست های پایگاه داده را با درخواست در ساختار JSON ارسال می کنیم.

از POSTAPP.models واردات PostModelاز rest_framework.generics واردات ListAPIView

کلاس PostListAPIView(ListAPIView):serializer_class = PostSerializerqueryset = PostModel.objects.all()

بیایید توضیح دهیم که در اینجا چه کردیم. ما یک نمای با استفاده از کلاس ListAPIView ایجاد کردیم که برای فرآیند لیست در Rest Framework آماده است. ابتدا تعیین می کنیم که کدام مدل را با متغیر queryset برگردانیم. و باید کلاس سریال ساز خود را مشخص کنیم که داده های حاصل از این مدل، یعنی مجموعه پرس و جو را سریال می کند. پس از همه، ما یک مجموعه query را برای طرف مقابل ارسال نمی کنیم. ما شیء سریالی JSON را ارسال خواهیم کرد. ساختاری که مجموعه پرس و جو را به یک شی JSON تبدیل می کند سریال سازهایی است که ما ایجاد خواهیم کرد.در حال حاضر، من یک سریال ساز به نام PostSerializer در متغیر serializer_class ایجاد کرده ام. ما این سریال ساز را در فایل serializers.py در همان دایرکتوری ایجاد خواهیم کرد. بیایید اکنون آن را ایجاد کنیم.

از rest_framework واردات سریال

کلاس YourProjectSerializer(serializer.ModelSerializer):کلاس متا:مدل = PostModelفیلدها = [“Author”,”Title”,”Content”,’Draft’,’ModifiedDate’]

در این مقاله Rest Framework را توضیح خواهم داد. قبل از پرداختن به جزئیات فنی، اجازه دهید کمی در مورد Rest Framework صحبت کنیم.
Rest Framework یک فریمورک پیشرفته است که به ما امکان می دهد یک Back-end مشترک را برای برنامه های موبایل، برنامه های کاربردی وب و برنامه های دسکتاپ کدنویسی کنیم. برای مثال، می‌توانید از یک سرور بک‌اند که با Rest Framewok کدگذاری کرده‌اید، هم در برنامه موبایل و هم در برنامه وب خود استفاده کنید.
می توانید برنامه های خود را با استفاده از Rest Framework با فناوری های front end مانند Angular، React، Vue توسعه دهید. از آنجایی که Rest Framework در یک ساختار مشترک در برنامه نویسی پاسخ می دهد، می توانید از این خروجی ها با Angular یا React استفاده کنید. پس انواع این خروجی ها چیست؟ البته ساختارهایی مانند JSON. البته به صورت اختیاری، می‌توانید این خروجی‌ها را در ساختارهای مختلف به قسمت جلویی ارسال کنید. حالا بریم سراغ کدنویسی

ایجاد یک پروژه
1) django-admin startprojectProjeName

ما پروژه خود را ایجاد کرده ایم. حالا بیایید پروژه خود را اجرا کنیم.

2) python manager.py runserver

سپس دستورات لازم را برای ایجاد جداول لازم در پایگاه داده خود بنویسیم.

3) python manager.py مهاجرت کنید

فراموش نکنیم که برنامه‌ای را که ایجاد کرده‌ایم به فهرست INSTALLED_APPS در فایل settings.py اضافه کنیم.
همه چیز خوبه. اکنون می توانیم به مراحل لازم برای چارچوب بقیه برویم.
برای نصب Rest Framework بر روی کامپیوتر خود، باید دستورات زیر را در ترمینال خود اجرا کنیم.

1) پیپ نصب djangorestframework
مثلا؛
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘rest_framework’,
‘POSTAPP’,
]

اکنون که چارچوب Rest را اضافه کرده ایم، می توانیم شروع به ایجاد API کنیم. برای این کار باید یک پوشه به نام API و چند فایل در پوشه اپلیکیشنی که ساختیم ایجاد کنیم. بیایید این فایل ها را اضافه کنیم:

YOUR_PROJECT/
api/
init.py
views.py
urls.py
serializers.py

با ** initفایل .py**، نشان می دهیم که این پوشه یک ماژول پایتون است
این فایل views.py ** فایلی است که در آن کلاس ها یا توابعی را می نویسیم که پاسخ هایی را که به درخواست های دریافتی ارسال می کنیم ارائه می دهد.
**urls.py
فایل همانگونه که از ساختار جنگو می توانید حدس بزنید، فایلی است که آدرس های API خود را در آن تنظیم می کنیم.
این serializers.py file فایلی است که در آن ساختارهایی را می نویسیم که مجموعه های پرس و جوی ورودی ما را در قالب هایی که می خواهیم (برای مثال JSON) قرار می دهد. به تدریج وارد جزئیات این موضوع خواهیم شد.
ابتدا به فایل urls.py که در پوشه اصلی پروژه ما آماده است می رویم و مسیرهای url را با توجه به پوشه API که ایجاد کردیم تعریف می کنیم.

urlpattern's = [
path(‘admin/’, admin.site.urls),
path(“api/post/”,include(“YOUR_PROJECT.api.urls”,namespace=”post”)),
]

ما قبلا یک مسیر مدیریت داریم. ما همچنین یک مسیر جدید به عنوان api/post اضافه کردیم. با متد Include، درخواست‌هایی که به api/post/ می‌رسیدند را به فایل url خود در پوشه API که ایجاد کردیم هدایت کردیم.
حالا بیایید به سرعت یک مدل برای پستی که ایجاد کردیم بنویسیم. بیایید به فایل models.py در پوشه YOUR_PROJECT برسیم.

کلاس PostModel (models.Model):
نویسنده = models.ForeignKey(User,on_delete=models.CASCADE)
عنوان = models.CharField(max_length=50)
Content = models.TextField()
پیش نویس = models.BooleanField(default=False)
ModifiedDate = models.DateTimeField(قابل ویرایش=نادرست)

پس از ایجاد مدل خود، کدهای لازم را در ترمینال خود برای ایجاد جداول در پایگاه داده بنویسیم.

python manager.py makemigrations

با این کدها، فایل های پایتون لازم برای ایجاد جداول در پایگاه داده خود را ایجاد کردیم. برای ایجاد جداول دستورات زیر را اجرا می کنیم.

*python manager.py migrate *

حالا بیایید به فایل خالی urls.py خود در پوشه api در زیر پوشه YOUR_PROJECT که ایجاد کردیم بیاییم.

از مسیر واردات django.urls
از .views YourProjectAPIView را وارد کنید

app_name = “پست”
urlpattern's = [
path(“list/”,YourProjectAPIView.as_view(),name=”your_project”),
]

ابتدا نام اپلیکیشن را با app_name=”post” مشخص کردیم.
حال سعی کردیم نماهایی را که هنوز ایجاد نکرده ایم وارد کنیم و سعی کردیم مطابق مسیر خود از آنها استفاده کنیم. بیایید فوراً نماهایی را که نام آنها را در فایل views.py خود نوشته‌ایم در زیر پوشه YOUR_PROJECT/api ایجاد کنیم.
ابتدا یک نمای ایجاد می کنیم که در آن تمام پست های پایگاه داده را با درخواست در ساختار JSON ارسال می کنیم.

از POSTAPP.models واردات PostModel
از rest_framework.generics واردات ListAPIView

کلاس PostListAPIView(ListAPIView):
serializer_class = PostSerializer
queryset = PostModel.objects.all()

بیایید توضیح دهیم که در اینجا چه کردیم. ما یک نمای با استفاده از کلاس ListAPIView ایجاد کردیم که برای فرآیند لیست در Rest Framework آماده است. ابتدا تعیین می کنیم که کدام مدل را با متغیر queryset برگردانیم. و باید کلاس سریال ساز خود را مشخص کنیم که داده های حاصل از این مدل، یعنی مجموعه پرس و جو را سریال می کند. پس از همه، ما یک مجموعه query را برای طرف مقابل ارسال نمی کنیم. ما شیء سریالی JSON را ارسال خواهیم کرد. ساختاری که مجموعه پرس و جو را به یک شی JSON تبدیل می کند سریال سازهایی است که ما ایجاد خواهیم کرد.
در حال حاضر، من یک سریال ساز به نام PostSerializer در متغیر serializer_class ایجاد کرده ام. ما این سریال ساز را در فایل serializers.py در همان دایرکتوری ایجاد خواهیم کرد. بیایید اکنون آن را ایجاد کنیم.

از rest_framework واردات سریال

کلاس YourProjectSerializer(serializer.ModelSerializer):
کلاس متا:
مدل = PostModel
فیلدها = [“Author”,”Title”,”Content”,’Draft’,’ModifiedDate’]

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا