جنگو

جنگو

جنگو (Django) به عنوان یکی از قدرتمندترین، امن‌ترین و مقیاس‌پذیرترین فریم‌ورک‌های وب مبتنی بر پایتون

جنگو

مقالات

فریم‌ورک وب برای کمال‌گراها با ضرب‌الاجل‌های فشرده

در این مقاله با فریم‌ورک محبوب و قدرتمند جنگو (Django) آشنا می‌شویم. بررسی می‌کنیم که چرا این فریم‌ورک پایتونی با فلسفه «Batteries Included» به انتخاب اول توسعه‌دهندگان برای ساخت سایت‌های سریع، امن و مقیاس‌پذیر تبدیل شده است و نگاهی به معماری MVT آن خواهیم داشت.

/persian/article-fa/the-web-framework-for-perfectionists-with-deadlines-fa

ساخت و مدیریت Virtual Environment در پایتون و اجرای پروژه Django

Virtual Environment در پایتون ابزاری مهم برای مدیریت وابستگی‌ها و نسخه‌های مختلف پکیج‌ها و فریم‌ورک‌ها است. با استفاده از محیط مجازی می‌توان نسخه‌های مختلف پایتون و Django را بدون تداخل اجرا کرد. در این مقاله مراحل ساخت محیط مجازی با نسخه‌های مختلف پایتون، فعال‌سازی محیط، بررسی و به‌روزرسانی pip، نصب Django با آخرین یا نسخهٔ خاص و در نهایت اجرای اولیه پروژه Django توضیح داده می‌شود.

/persian/article-fa/creating-and-managing-python-virtual-environments-and-running-a-django-project-fa

راهنمای کامل نصب و راه‌اندازی Django

این مقاله یک راهنمای جامع برای نصب و راه‌اندازی Django ارائه می‌دهد. از نصب Python و ایجاد محیط مجازی گرفته تا نصب Django، راه‌اندازی پایگاه‌داده، و استفاده از وب‌سرورهایی مانند Apache و mod_wsgi، تمام مراحل به‌صورت دقیق و کاربردی توضیح داده شده است. این مقاله برای مبتدیان و توسعه‌دهندگان حرفه‌ای مناسب است.

/persian/article-fa/a-complete-guide-to-installing-and-setting-up-django-fa

درک مدل‌ها در Django: ساختار، کاربرد و ارتباط با پایگاه‌داده

این مقاله توضیحی روشن و ساختارمند درباره مدل‌های Django ارائه می‌دهد؛ بخشی کلیدی که مسئول تعریف و مدیریت داده‌ها در برنامه‌های Django است. مقاله توضیح می‌دهد که مدل‌ها چگونه به جدول‌های پایگاه‌داده نگاشت می‌شوند، فیلدها چگونه تعریف می‌شوند، Django چگونه به‌طور خودکار SQL تولید می‌کند، و چگونه باید مدل‌ها را در پروژه فعال کرد. یک مثال عملی نیز برای درک بهتر ارائه شده است.

/persian/article-fa/understanding-django-models-structure-usage-and-database-integration-fa

راهنمای کامل ساخت، ذخیره‌سازی و اجرای Query در Django ORM

این مقاله نحوه ساخت، ذخیره، بازیابی، فیلتر کردن و مدیریت داده‌ها را با استفاده از ORM جنگو توضیح می‌دهد. موضوعاتی مانند ساخت آبجکت‌ها، ذخیره‌سازی تغییرات، کار با ForeignKey و ManyToManyField، ایجاد QuerySet، فیلتر کردن داده‌ها، زنجیره‌سازی فیلترها و رفتار مستقل QuerySetها پوشش داده شده‌اند. این مفاهیم پایه‌ای‌ترین بخش کار با داده‌ها در Django هستند.

/persian/article-fa/creating-saving-and-querying-objects-in-django-a-complete-guide-to-the-orm-query-api-fa

تجمیع (Aggregation) و Annotation در Django ORM: محاسبه میانگین، شمارش، بیشینه، کمینه و رفتار چندتجمیعی

این مقاله نحوهٔ انجام عملیات تجمیع در Django ORM را توضیح می‌دهد: استفاده از aggregate() برای محاسبهٔ مقادیر کلی مانند میانگین و بیشینه، استفاده از annotate() برای افزودن مقادیر تجمیعی به هر آبجکت، مشکلات رایج هنگام ترکیب چند تجمیع، استفاده از distinct=True برای جلوگیری از نتایج اشتباه، و نحوهٔ بررسی SQL تولیدشده برای درک بهتر رفتار Query.

/persian/article-fa/aggregation-and-annotation-in-django-orm-summaries-counts-averages-and-multiaggregation-behavior-fa

جستجو در Django ORM: از فیلترهای ساده تا Full‑Text Search در PostgreSQL

این مقاله روش‌های مختلف جستجو در Django را بررسی می‌کند: از جستجوهای سادهٔ متنی با contains و icontains، تا استفاده از قابلیت‌های پیشرفتهٔ دیتابیس‌ها مانند unaccent و trigram در PostgreSQL. همچنین توضیح می‌دهد چرا جستجوی مبتنی بر متن برای داده‌های بزرگ ناکارآمد است و چگونه می‌توان از موتورهای جستجوی سندمحور یا Full‑Text Search داخلی PostgreSQL استفاده کرد.

/persian/article-fa/search-in-django-orm-from-basic-text-lookups-to-postgresql-fulltext-search-fa

درک Managerها در Django ORM: مدیرهای سفارشی، مدیر پیش‌فرض، مدیر پایه و الگوهای پیشرفتهٔ استفاده

این مقاله توضیح می‌دهد که Manager در Django چیست، چگونه می‌توان نام آن را تغییر داد، چگونه یک Manager سفارشی ساخت، چگونه get_queryset را بازنویسی کرد، تفاوت بین مدیر پیش‌فرض و مدیر پایه چیست، چرا Django برای دسترسی به روابط از base manager استفاده می‌کند، و چگونه می‌توان متدهای یک QuerySet سفارشی را از طریق Manager در دسترس قرار داد. Managerها نقطهٔ اصلی تعامل مدل‌ها با پایگاه داده هستند و درک آن‌ها برای نوشتن ORM تمیز و قدرتمند ضروری است.

/persian/article-fa/understanding-managers-in-django-orm-custom-managers-default-managers-base-managers-and-advanced-usage-patterns-fa

اجرای کوئری‌های SQL خام در Django: RawSQL، raw() و اجرای مستقیم SQL

این مقاله سه روش Django برای اجرای SQL خام را توضیح می‌دهد: استفاده از RawSQL در داخل QuerySet، استفاده از متد raw() برای بازگرداندن نمونه‌های مدل، و اجرای مستقیم SQL بدون لایهٔ مدل. همچنین نحوهٔ نگاشت فیلدها، پارامترگذاری امن، محدودیت‌ها، deferred fields، و هشدارهای امنیتی مربوط به SQL injection بررسی می‌شود.

/persian/article-fa/performing-raw-sql-queries-in-django-rawsql-raw-field-mapping-parameters-and-safety-considerations-fa

مدیریت تراکنش‌های پایگاه داده در Django: atomic، ATOMIC_REQUESTS، savepointها و رفتار autocommit

این مقاله نحوهٔ مدیریت تراکنش‌ها در Django را توضیح می‌دهد: رفتار پیش‌فرض autocommit، استفاده از ATOMIC_REQUESTS برای تراکنش‌های سطح درخواست، کنترل صریح تراکنش‌ها با atomic، مدیریت خطاها، savepointها، نکات عملکردی، و دلیل استفادهٔ Django از autocommit. همچنین خطرات رایج مانند پنهان‌کردن استثناها داخل atomic و ناسازگاری وضعیت مدل پس از rollback بررسی می‌شود.

/persian/article-fa/database-transaction-management-in-django-atomic-atomic-requests-savepoints-and-autocommit-behavior-fa

کار با چند دیتابیس در Django: پیکربندی، مهاجرت‌ها، مسیریابی خودکار و Database Routerها

این مقاله نحوهٔ استفاده از چند دیتابیس در Django را توضیح می‌دهد: از تعریف دیتابیس‌ها در تنظیمات، اجرای migrate روی دیتابیس‌های مختلف، رفتار دستورات مدیریتی، تا مسیریابی خودکار کوئری‌ها و پیاده‌سازی Database Routerها. همچنین نحوهٔ کنترل عملیات خواندن، نوشتن، روابط و مهاجرت‌ها با استفاده از متدهای db_for_read، db_for_write، allow_relation و allow_migrate بررسی می‌شود.

/persian/article-fa/working-with-multiple-databases-in-django-configuration-migrations-routing-and-database-routers-fa

Tablespace در Django: مدیریت محل ذخیره‌سازی جداول و ایندکس‌ها در دیتابیس

این مقاله مفهوم Tablespace در Django را توضیح می‌دهد؛ اینکه چگونه می‌توان محل ذخیره‌سازی جداول و ایندکس‌ها را کنترل کرد، چگونه از db_tablespace در مدل‌ها و فیلدها استفاده می‌شود، نقش DEFAULT_TABLESPACE و DEFAULT_INDEX_TABLESPACE چیست، و کدام دیتابیس‌ها از tablespace پشتیبانی می‌کنند. همچنین یک مثال کامل برای درک بهتر ارائه شده است.

/persian/article-fa/using-tablespaces-in-django-table-storage-index-placement-and-database-support-fa