لا تقم بالتكرار
هي فلسفة أساسية في 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) |
ليست هناك تعليقات:
إرسال تعليق