مبادئ أساسية لـ Django

0

 

لا تقم بالتكرار

هي فلسفة أساسية في Django. إذا وجدت نفسك تكتب نفس الشيء مرتين، قم بإعادة بناءه. استخدم العروض المستندة إلى الفئات في Django، أو المزج بينها، أو قم بإنشاء دوال مساعدة مخصصة.

1
2
3
4
5
class MyBaseView(View):
    # دوال مشتركة
 
class MyView(MyBaseView):
    # دوال خاصة


استخدم Django ORM بشكل فعال

Django ORM يوفر طريقة قوية وعالية المستوى بأسلوب بايثوني للتفاعل مع قاعدة البيانات الخاصة بك. استفد من ميزاته مثل ربط الأساليب والتجميعات و prefetch_related لجعل استدعاءات قاعدة البيانات فعّالة.

1
2
3
books = Book.objects.filter(author='John').order_by('publication_date')
 
authors = Author.objects.prefetch_related('books')

التعامل مع Form

استخدم دائمًا نظام نموذج Django للتحقق من صحة البيانات ومعالجتها لإنه يحمي من العديد من مشكلات الأمان الشائعة ويجعل التعليمات البرمجية أكثر أناقة.

1
2
class CommentForm(forms.Form):
    text = forms.CharField(max_length=200)

استخدم العروض العامة

يمكن أن تساعد العروض العامة في تبسيط مهام تطوير الويب الشائعة.

استخدم  ListView و DetailView و CreateView و UpdateView و DeleteView قدر الإمكان.

1
2
class AuthorListView(ListView):
    model = Author

استخدم ميزات أمان Django

يوفر Django حماية مدمجة ضد الهجمات الشائعة مثل XSS، وCSRF، و حقن SQL . استخدم دائمًا  {% csrf_token %} في النماذج ومرشح  escape لتطهير البيانات.

1
2
3
{% for comment in comments %}
    {{ comment.text|escape }}
{% endfor %}

استخدم إطار اختبار جانغو

يعد الاختبار الآلي ضروريًا للحفاظ على قاعدة تعليمات برمجية سليمة. يمكن أن تساعدك أدوات الاختبار المدمجة في Django في كتابة اختبارات الوحدة، واختبارات التكامل، والاختبارات الشاملة.

1
2
3
4
5
class MyTests(TestCase):
 
    def test_homepage(self):
        response = self.client.get('/')
        self.assertEqual(response.status_code, 200)

الاستفادة من واجهة إدارة Django

تعد واجهة الإدارة أداة مدمجة قوية. قم بتخصيصه لجعله مفيدًا لاحتياجاتك.

1
2
3
4
class BookAdmin(admin.ModelAdmin):
    list_display = ('title', 'author')
 
admin.site.register(Book, BookAdmin)

لا يوجد تعليقات

أضف تعليق