أفضل ممارسات Django: عبارة Import

أفضل-الممارسات-django-عبارة-import
تعلم جانغو

إن عملية الإستيراد جزء لا مفر منه عند تطوير التطبيقات بإستخدام Python و Django. كما يوصي دليل بايثون الإرشادي Pep8 بوضع عبارات import في أعلى الملف و في سطور منفصلة ، وفق الترتيب التالي:

  • إستيراد المكتبات القياسية.
  • إستيراد تطبيقات الطرف الثالث.
  • إستيراد المكتبات و التطبيقات المحلية.

يجب استخدام عبارة الإستيراد، تمامًا مثل أي عبارة أو كلمة رئيسية أخرى في Python، وإضافتها إلى الكود بشكل صحيح باتباع أفضل الممارسات. دعونا نكتشف ذلك معا.

و فيما يلي مثال لملف views.py من تطبيق المدونة.

# blog/views.py
from django.views.generic import ListView, DetailView
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.urls import reverse_lazy

from .models import Post 

class BlogListView(ListView):
    model = Post
    template_name = 'home.html'

السطور 3 الأولى هي عمليات استيراد يتم استخدامها عند استيراد حزم من خارج تطبيق معين، و هذه هي الطريقة التي يتم بها استيراد كل التعليمات البرمجية الأساسية لـ Django.

يتم استيراد نموذج قاعدة البيانات باستخدام استيراد نسبي صريح – لم نقم بكتابة اسم التطبيق هنا مما يجعله أكثر قابلية لإعادة الاستخدام.

أما إذا كتبنا  from blog.models import Post فستكون هناك مشكلة إذا تغير اسم تطبيق المدونة في المستقبل و بالتالي ستفشل عملية الإستيراد.

هناك قاعدة أخرى جيدة تتمثل في عدم استخدام *  و التي تقوم بإستيراد كل شيء.

المثال التالي عبارة عن فكرة سيئة لا ينصح بها:

# blog/views.py
from django.views.generic import * # فكرة سيئة!

لماذا تستورد أشياء لا تحتاجها؟ و ماذا لو تغيرت views.generic  في مرحلة ما في المستقبل بطرق غير متوقعة مما يفتح مخاوف أمنية.

و في الأخير من المحتمل أن ترى أنماط استيراد مختلفة في المستقبل خاصة التعليمات البرمجية المفتوحة المصدر والمحترفة. حاول اتباع PEP8 عن كثب قدر الإمكان. استخدم عمليات الاستيراد عند الضرورة .


اكتشاف المزيد من بايثون العربي

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Scroll to Top

اكتشاف المزيد من بايثون العربي

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading