در این مطلب توضیحاتی در مورد دوره آموزش مقدماتی جنگو ساخت وبلاگ ساده ارائه می کنیم. این دوره به صورت غیر رایگان در سایت دانشجویار منتشر شده است. این دوره در ۱۳ قسمت ضبط و ارائه شده است. در ادامه این مطلب خلاصه ای از همه این ۱۳ قسمت را می بینید.
قسمت اول آموزش مقدماتی جنگو، نصب جنگو:
اولین قدم در این آموزش بررسی نسخه نصب شده پایتون روی سیستم است. سپس با استفاده از دستور virtualenv یک محیط ایزوله ایجاد می کنیم و توضیحاتی در مورد مزایای محیط ایزوله ارائه شد است.
در ادامه با استفاده از دستور activate محیط ایزوله را فعال می کنیم. و در همین محیط ایزوله با استفاده از دستور pip install django جنگو را روی محیط ایزوله نصب می کنیم. و سپس با استفاده از دستور django.VERSION نسخه جنگو نصب شده را برررسی می کنیم. سپس روش غیرفعال کردن محیط ایزوله را آموزش می دهیم.
قسمت دوم آموزش مقدماتی جنگو، ساخت اولین پروژه Django:
در این آموزش ابتدا محیط ایزوله را فعال می کنیم. سپس با استفاده از دستور django-admin startproject mysite یک پروژه جدید می سازیم.
سپس به بررسی فولدرها و فایل های پروژه می پردازیم. ابتدا فایل __init__.py که مشخص می کند فولدر یک ماژول است. فایل settings.py که تنظیمات اصلی در آن است و بقیه فایل ها مثل manage.py و … و کار آنها توضیح داده می شود.
سپس در همان محیط ایزوله با رفتن به مسیر پروژه (جایی که فایل manage.py وجود دارد) دستور python manage.py migrate را اجرا می کنیم تا جداول پیش نیاز جنگو ساخته شوند، در این ویدئو توضیحاتی در مورد جداول داده می شود.
در قدم بعدی توضیحاتی در مورد runserver ارائه می شود و ویژگی های این ابزار معرفی می شوند. با استفاده از دستور python manage.py runserver این ابزار راه اندازی می شود. در ادامه توضیحاتی در مورد نغییر پورت مورد استفاده runserver ارائه می شود.
سپس وارد فایل settings.py می شویم و برخی از موارد و تنظمیات مهم در این فایل توضیح داده می شود.
در مرحله بعدی توضیحاتی در مورد application ها ارائه می شود و با دستور manage.py startapp blog یه اپ جدید ایجاد می کنیم و در مورد فایل ها و فولدرهای اضافه شده بعد از این دستور، از جمله migrations و models و views و … توضیحاتی ارائه می شود.
قسمت سوم آموزش مقدماتی جنگو، طراحی مدل ها در Django:
توضیحات ارائه شده در این قسمت مربوط به ساخت مدل ها است. در این قسمت با انواع داده در جنگو از قبیل CharField و SlugFiled و ForeignKey و TextField و DateTimeField و تنظیمات مربوط به آنها آشنا می شویم.
همچنین یک choices برای انتخاب وضعیت مطلب ذخیره شده ایجاد کرده و به فیلد status اضافه می کنیم. در ادامه یک Meta class جهت مرتب سازی داده ها اضافه می کنیم.
در انتهای این آموزش روش استفاده از makemigrations توضیح داده می شود و با سپس با دستور migrate مدل ساخته شده به دیتابیس اضافه می شود.
قسمت چهارم آموزش مقدماتی جنگو، آماده سازی پنل ادمین Django:
ابتدا روش ساختن کاربر superuser را آموزش می دهیم. سپس با کاربر ساخته شده وارد ادمین جنگو شده و توضیحات مربوط را ارائه می دهیم. سپس روش register کردن مدل به صفحه ادمین را توضیح می دهیم.
بعد از اضافه شدن مدل به ادمین جنگو متد __str__ را توضیح می دهیم. سپس ادمین جنگو را با ارث بری کردن از admin.ModelAdmin شخصی سازی می کنیم.
قسمت پنجم آموزش مقدماتی جنگو، آشنایی با QuerySet و Shell در Django:
در این آموزش ابتدا بعد از فعال کردن محیط ایزوله با استفاده از دستور manage.py shell وارد محیط shell می شویم. ابتدا روش ایمپورت کردن جداول را آموزش می دهیم. سپس با دستور get و cretae و objects.all() و filter و … آشنا می شویم.
در این قسمت با روش های مختلف فیلتر کردن دیتا از جمله startswith و exclue و آشنا می شویم و با QuerySet کار می کنیم.
در انتها نیز با دستوراتی مثل orderby و update و … آموزش را به پایان می رسانیم.
قسمت ششم آموزش مقدماتی جنگو، ساخت List View و Detail View در Django:
توضیحات ارائه شده در این قسمت با معرفی views.py شروع می شود. سپس روش ساختن ویو توضیح داده می شود. ابتدا یک ویو جدید با نام post_list می سازیم و از دیتابیس لیست همه پست ها را بارگزاری می کنیم. سپس توضیحاتی در مورد متد render و پارامترهای آن ارائه می شود.
در ادامه یک ویو دیگر ایجاد می کنیم که پارامترهای دیگری علاوه بر request می گیرد. این متد قرار است جزئیات را نمایش دهد. در این بخش با متد get_object_or_404 آشنا می شویم و دلیل استفاده از آن را شرح می دهیم.
در قدم بعدی فایل urls.py را برای ویوهایی که ایجاد کردیم تکمیل می کنیم و توضیحات مربوط به path ها را ارائه می دهیم. و در نهایت urlهای اپ جدید را به پروژه معرفی می کنیم.
قسمت هفتم آموزش مقدماتی جنگو، ایجاد Template متناسب با View ها در Django بخش اول:
در این قسمت ابتدا با فولدر templates آشنا می شویم. سپس فایل base.html را می سازیم که بقیه تمپلت ها می توانند از این template ارث بری کنند و نیاز نباشد در template ها کدهای html تکراری بنویسیم. سپس با template tagها آشنا می شویم. و با block ها بلاک بندی می کنیم. سپس با دستور extends آشنا می شویم که جهت ارث بری کردن استفاده می شود. و روش ارث بری از base را آموزش می دهیم.
در ادامه روش استفاده از دستوراتی مثل for را در template ها یاد میگیریم و نمایش فیلدها در خروجی را توضیح می دهیم. در این ویدئو توضیحاتی نیز در مورد template filter ها ارائه می شود.
قسمت هشتم آموزش مقدماتی جنگو، ایجاد Template متناسب با View ها در Django بخش دوم:
در بخش دوم این قسمت، ابتدا templateرا همانند بخش قبلی برای نمایش Detail آماده می کنیم.
سپس با متد get_absolute_url و متد reverse آشنا می شویم تا برای هر مطلب لینک جزئیات را نمایش دهیم. لذا از get_absolute_url استفاده میکنیم و لینک مطالب را می سازیم.
در انتهای این بخش، استایل های css را اضافه می کنیم و ظاهر سایت را بهبود می بخشیم. و سپس توضیحاتی درباره static فایل ها ارائه می دهیم.
قسمت نهم آموزش مقدماتی جنگو، آشنایی با صفحه بندی در Django :
در شروع این قسمت پکیج های مربوط به صفحه بندی از قبیل Paginator , EmptyPage , PageNotInteger را ایمپورت می کنیم. و همه این پکیج ها را به صورت عملی توضیح می دهیم. همچنین با Exceptionهای مربوطه هم آشنا می شویم.
سپس یک فایل با نام pagination.html می سازیم و کدهای مربوط به صفحه بندی را در این فایل وارد می کنیم. سپس با دستور include تمپلت pagination را در لیست بارگذاری می کنیم و با دستور with اطلاعات مورد نیاز را به آن ارسال می کنیم.
قسمت دهم آموزش مقدماتی جنگو، طراحی مدل ثبت نظرات در Django :
برای افزودن کامنت به هر پست ابتدا مدل مربوطه را ایجاد می کنیم و یک کلید خارجی به مدل post مرتبط می کنیم. و متد str را جهت نمایش مناسب اطلاعات کامنت override می کنیم.
سپس مدل رو برای ادمین register می کنیم و یک کامنت تستی به یکی از مطالب اضافه می کنیم.
قسمت یازدهم آموزش مقدماتی جنگو، ثبت نظر با استفاده از Formها در Django:
در این قسمت با model form آشنا می شویم و با استفاده از فایل forms.py یک فرم مناسب برای ثبت نظر ایجاد می کنیم.
سپس فرم ساخته شده را در template اضافه می کنیم. در این قسمت با متدهای post و get آشنا می شویم. و با form_valid نیز آشنا می شویم.
در انتهای این قسمت با csrf_token آشنا می شویم و دلیل استفاده از این توکن را توضیح می دهیم. کامنت را با فرم ثبت می کنیم و نتیجه را در ادمین می بینیم. کامنت را در ادمین فعالسازی می کنیم تا در خروجی به کاربران نمایش داده شود.
قسمت دوازدهم آموزش مقدماتی جنگو، افزودن تگ به مطالب با استفاده از پکیج Taggit در Django:
اولین مطلبی که در این آموزش ارائه می شود، آموزش نصب پکیچ django-taggit است. سپس با دستور freeze آشنا می شویم. در ادامه پکیج نصب شده را در settings.py آماده سازی می کنیم.
در ادامه تغییراتی در مدل ها انجام می دهیم تا بتوانیم از این پکیج استفاده کنیم. سپس بعد از migrate توضیحاتی در مورد جداول ایجاد شده ارائه می دهیم و در ادمین به مطالب چند تگ جدید اضافه می کنیم.
سپس روش استفاده از این پکیج را در تمپلت و ویوها آموزش می دهیم. با این پکیج می توانیم بر حسب تگ ها اطلاعات را فیلتر کنیم.
قسمت سیزدهم آموزش مقدماتی جنگو، ساخت custom template tag در Django:
در این قسمت ابتدا یک فولدر به نام templatetags می سازیم و همه کاستوم تمپلت تگ های خودمان را در این فولدر نگهداری می کنیم.
سپس فایل blog_tag.py را می سازیم و کاستوم تگ خودمان را ایجاد کرده و register می کنیم.
از این custom template tag می توانیم در تمپلت ها استفاده کنیم، پس نیاز است که این تگ ها را در تمپلت load کنیم. همانند load کردن فایل های استاتیک این کاستوم تمپلت تگ ها را اضافه می کنیم.
در ادامه یک تمپلت تگ جدید می سازیم که آرگومان ورودی قبول می کند و نتیجه را در خروجی نمایش می دهد.