مدت :

۹ ساعت

قیمت : ۲۴۳,۰۰۰ تومان
LinkedIn
Twitter
Facebook
Telegram

درباره مدرس 

اطلاعات دوره

توضیحات

در این آموزش پروژه محور جنگو یک وبلاگ حرفه ای از صفر با هم می‌سازیم و آنلاین منتشر می‌کنیم. کار با دیتابیس PostgreSQL در جنگو ، آپلود جنگو در هاست آنلاین ، ارسال ایمیل در جنگو و فارسی سازی قالب در جنگو ، استفاده از فایل CSS در جنگو ، ارسال نظرات ، جستجوی پیشرفته ، طراحی لینک Sitemap و RSS و اشتراک گذاری در جنگو از مهم‌ترین مطالب این آموزش هستند.

حتما سرفصل‌ها را در انتهای توضیحات ببینید. همچنین حتما از نسخه ۳ جنگو هنگام پیشروی با دوره استفاده کنید. 

 

جنگو چیست؟

جنگو یک فریمورک (+) محبوب برنامه نویسی است. با جنگو می‌توان به توسعه وب اپلیکیشن و وبسایت با زبان پایتون پرداخت.

توسعه جنگو (Django) را Adrian Holovaty و Simon Willison در سال 2003 آغاز کردند. جنگو فریمورکی با سابقه با راهکارهایی نوآورانه است.

در چند سال گذشته، محبوبیت زبان پایتون باعث محبوبیت بیشتر جنگو شده است. استفاده از کتابخانه‌های غنی پایتون در هوش مصنوعی و داده‌کاوی در وب اپلیکشن‌ها خواسته بسیاری از برنامه‌نویسان است.

 

چرا این آموزش تولید شد؟

چندی پیش این آموزش مقدماتی جنگو (+) در هم‌رویش منتشر و با استقبال بسیاری روبرو شد. با این که آموزش مذکور پروژه محور بود اما فراگیران بسیاری درخواست داشتند که آموزش‌های پروژه محوری حاوی نکات حرفه‌ای برای حل مشکلات روزانه آن‌ها منتشر شود.

بنابراین چندین آموزش پروژه محور در هم‌رویش در زمینه جنگو برنامه‌ریزی شد. این آموزش پروژه محور جنگو اولین عنوان از این آموزش‌های حرفه‌ای است.

 

این آموزش در یک نگاه

در درجه اول اگر قصد دارید با این آموزش 9 ساعتی در 9 دقیقه آشنا شوید، لطفا فیلم معرفی آن را در بالای صفحه ببینید.

در این آموزش شما کار را با نصب ابزارهای لازم شروع می‌کنید. یک پروژه جنگو می‌سازید. سپس پنل مدیریت و یک اپلیکیشن برای آن ایجاد می‌کنید.

همچنین در این آموزش پروژه محور django سراغ کار پیشرفته با دیتابیس می‌رویم. کوئری می‌زنید و یاد می‌گیرید که چطور یک Manager اختصاصی برای Query بنویسید.

همین عملیات واکشی داده‌ها را در تمپلت و به کمک View پیاده می‌کنید. مطالب نمایش داده می‌شوند. حالا هر مطلب یک URL اختصاصی نیاز دارد. پس باید مفهوم Canonical و معنی Canonical URL را درک و پیاده کنید.

پس از مهیا کردن یک وبلاگ ساده شروع به افزودن امکانات می‌کنیم. صفحه بندی مطالب یا Pagination ، اشتراک گذاری مطالب ، ارسال ایمیل در جنگو ، سیستم ارسال نظر در جنگو ، ایجاد سیستم Tagging برای برچسب دهی مطالب ، طراحی Sitemap و لینک RSS از جمله این امکانات هستند.

یک موتور جستجوی هوشمند و پیشرفته هم به وبلاگ اضافه می‌کنیم. برای افزودن این موتور، به پایگاه داده PostgreSQL در جنگو نیاز داریم. آموزش مهاجرت پروژه جنگو از SQLite به Postgres را در دو درس گام به گام پیش می‌بریم.

راستی یک درس هم به نحوه فارسی سازی قالب در جنگو به کمک BootStrap راست چین صحبت می‌کنیم.

پس از تکمیل امکانات مذکور لادر دو درس به انتشار جنگو روی هاست آنلاین می‌پردازیم. یک هاست ایرانی رزرو می‌کنیم. گام به گام پیش می‌رویم. پروژه وبلاگ را روی یک دامنه بالا می‌آوریم. و سرانجام سیستم ایمیل را برای استفاده از SMTP تنظیم ‌می‌کنیم.

 

آموزه‌های اصلی
  • کار با دیتابیس postgreSQL در جنگو
  • ارسال پروژه جنگو به هاست آنلاین
  • ارسال ایمیل در جنگو با SMTP Server آنلاین
  • اجرای سیستم ارسال نظر در جنگو
  • ایجاد لینک RSS در جنگو
  • ایجاد نقشه سایت یا Sitemap در جنگو
  • استفاده از فایل CSS در جنگو
  • طراحی Template Tag سفارشی در جنگو
  • ایجاد موتور جستجوی پیشرفته در جنگو
  • کار با Stem و Rank و Weight و Trigram در موتور جستجو
  • فارسی سازی قالب در جنگو ( قالب راست چین در جنگو )

 

این آموزش بی‌نظیر است زیرا:
  • با جنگو 3 کار می کنید.
  • بسیاری امکانات حرفه ای جنگو را می آموزید.
  • یک پروژه واقعی را می‌سازید.
  • آپلود جنگو در هاست آنلاین را می‌آموزید.
  • با پایگاه داده پیشرفته و هاست آنلاین آشنا می‌شوید.
  • با فارسی سازی قالب در جنگو و جستجوی پیشرفته آشنا می‌شوید.

 

پیشنیاز آموزش پروژه محور جنگو

 

عبارت‌های کلیدی

آموزش جنگو – آموزش جنگو 3 – آموزش پروژه محور جنگو 3 – جنگو با دیتابیس PostgreSQL – انتشار پروژه جنگو روی هاست آنلاین – فارسی سازی قالب در جنگو – ارسال ایمیل در جنگو – سیستم ارسال نظر در جنگو – ایجاد sitemap در جنگو – ایجاد لینک RSS در جنگو – ساخت Custom Template Tag در جنگو – ساخت Custom Manager برای Django ORM – استفاده از استایل فایل CSS در جنگو

ریز سرفصل‌ها

ریز سرفصل‌ها

درس صفر: معرفی دوره
– نگاهی به اپ در آخر کار
– ویژگی‌های دوره: تکمیلی قبلی / سریع / جنگو 3
– نگاهی به دوره
– این که سورس پروژه روی گیت هاب من است

درس یکم: نصب Django 3 و محیط توسعه
– آشنایی با Django 3 در یک نگاه
– انتخاب IDE برای توسعه حرفه‌ای
– ایجاد پروژه و محیط مجازی venv
– ایجاد پروژه جنگو 3 و ساختار آن
– اجرای پروژه روی لوکال با دستور runserver

درس دوم: ساخت اپ وبلاگ و مدل مطالب
– ایجاد اپ در جنگو با دستور startapp
– ایجاد مدل با ارث از کلاس models.Model
– تعریف ویژکی‌های کلاس Post و تنظیم آن‌ها
– آشنایی با DateTimeField و CharField و SlugField و TextField در جنگو
– تفاوت Auto_now و Auto_Now_Add در Model
– نمایش دستورات SQL معادل makemigrations با دستور sqlmigrate
– معنی و اجرای Activate کردن اپلیکیشن و مهاجرت دیتابیس با migrate
– بررسی پایگاه داده و جدول ایجاد شده

درس سوم: کار با پنل مدیریت یا Admin Site
– آشنایی با اپ admin در جنگو
– تعریف کابر مدیر یا superuser
– ورود به Administration Site
– ثبت نام مدل در ماژول admin
– ایجاد نمونه از مدل Post در پنل
– شخصی سازی نحوه نمایش مدل در پنل
– آشنایی با کلاس ModelAdmin و Decorator برای ثبت نام مدل
– افزودن فیلتر زمان و چیدمان با list_display و list_filter و date_hierarchy
– افزودن امکان پر شدن خودکار slug یا پیوند خودکار با prepopulated_fields

درس چهارم: کار با QuerySet و Manager
– آشنایی با Django ORM و API کار با دیتابیس
– مفهوم Object Relational Mapper
– انواع دیتابیس در جنگو
– مفهوم QuerySet و Manager
– دستور all و get برای واکشی داده
– دستور filter و exclude برای اعمال Where هنگام واکشی
– دستور delete برای حذف و save برای درج یا روزآمدسازی

درس پنجم: ایجاد Manager اختصاصی
– مفهوم Manager و حالت پیش فرض آن
– ایجاد Manager اختصاصی در جنگو با ارث بری
– امکان دریافت نمونه های خاصی از مدل
– تعریف Manager اختصاصی در مدل Post
– ویژگی default_manager_name در کلاس Meta
– استفاده از Manager اختصاصی در shell

درس ششم: ساخت View برای پردازش داده‌ها
– کمی شتاب بدهیم
– یادآوری نقش فایل views.py در جنگو
– نوشتن تابع نمایش فهرست پست ها
– نوشتن تابع نمایش جزئیات یک پست
– یادآوری مفهوم تابع get_object_or_404

درس هفتم: افزودن URL Pattern پروژه و اپ
– تفاوت urls.py پروژه و urls.py اپ
– افزودن نگاشت url بلاگ با تابع path
– معرفی تابع re_path و کاربرد آن
– افزودن url اپ و تبدیل‌ها در داده‌های ورودی
– مفهوم namespace در نگاشت URL

درس هشتم: ایجاد Canonical URL
– معنی Canonical URL و کاربرد آن
– پیاده کردن Canonical URL در جنگو
– استفاده از تابع get_absolute_url
– استفاده از تابع reverse برای ساخت URL

درس نهم: ساخت Template برای نمایش داده‌ها
– یادآوری نقش تمپلت در جنگو
– افزودن فایل‌های HTML نمایش پست ها
– استفاده از فایل CSS برای استایل‌ دهی در جنگو
– استفاده از فایل های static در جنگو
– نمایش صفحه‌ پست‌ها و جزئیات پست وبلاگ

درس دهم: صفحه بندی یا Pagination
– صفحه بندی یا Pagination چیست؟
– آشنایی با کلاس‌ Paginator
– دریافت پارامتر شماره صفحه از متد GET
– مدیریت خطا با PageNotAnInteger و EmptyPage
– تمپلت ویژه صفحه بندی با آبجکت Page
– تصحیح متد post_list برای صفحه بندی پست ها
– اجرای برنامه و مرور مجدد نحوه عملکرد Paginator

درس یازدهم: ایجاد View به صورت Class-based
– روند تکامل view ها در جنگو
– مفهوم view های پایه کلاسی یا Class based
– توجیه رویه generic در توسعه جنگو
– استفاده از ListView برای نمایش مقاله‌ها
– مفهوم اتریبیوت model و queryset
– مفهوم context_object_name و template_name
– امکان صفحه بندی خودکار در ListView
– بررسی مستندات و نکته‌هایی برای خودآموزی

درس دوازدهم: اشتراک گذاری مطالب با ایمیل
– ایجاد ماژول fomrs و آشنایی با کلاس Form
– مفهوم و عملکرد CharField و EmailFeild
– پارامترهای widget و max_length و required
– ایجاد view برای اجرای کد لازم با ارسال فرم

درس سیزدهم: ارسال ایمیل در جنگو
– ایجاد لینک برای اشتراک گذاری پست
– ایجاد نگاشت url با متد path
– ایجاد مطالب لازم برای ایمل
– ارسال ایمیل با متد send_mail
– ارسال ایمیل در ترمینال با EmailBackend
– تنظیمات ارسال ایمیل با SMTP Server
– تنظیمات ارسال ایمیل با Email Provider شخصی
– مفهوم دیکشنری cleaned_data از form جنگو
– انواع type در تگ input در html

درس چهاردهم: ایجاد سیستم نظر دهی برای مطالب
– اهمیت سیستم ارسال نظر در جنگو
– ایجاد مدل Comments
– ایجاد فرم با ارث بری از کلاس ModelForm
– نقش ویژگی fields و exclude در ModelForm
– معنی related_name در ارتباط many_to_one
– ایجاد query توسط related_name
– ایجاد تمپلت نمایش نظرات فرم ارسال دیدگاه
– آشنایی با تگ forloop در جنگو جینجا
– آستفاده از ORM جنگو و توابع دیتابیس در تمپلت
– استفاده از فیلتر pluralize برای نمایش s جمع
– افزودن منطق واکشی نظرات و نمایش فرم در views

درس پانزدهم: ایجاد سیستم تگ گذاری برای مطالب
– آشنایی با مفهوم تگ یا Tag
– آشنایی با نقش هشتگ یا Hashtag
– معرفی کتابخانه متن باز taggit
– نصب کتابخانه taggit از PYPI و روزآمدی پروژه
– استفاده از کتابخانه taggit
– افزودن نمایش تگ ها به فهرست پست ها

درس شانزدهم: فیلتر نمایش مطالب بر اساس تگ
– تعریف مساله و گام‌های آن
– تعریف یک view برای نگاشت دو url در جنگو
– نمایش تگ ها با لینک به url پست‌های هر تگ
– فیلتر کردن لیست پست ها با پارامتر tags__in

درس هفدهم: نمایش مطالب مشابه به خواننده
– کاربرد نمایش مطالب مرتبط یا مشابه
– الگوریتم پیاده سازی مطالب مرتبط
– کار با متد filter برای بررسی تطابق دو Query Set
– بررسی وجود تگ یا برچسب مشابه در دو مطلب
– کاربرد تابع distinct در جنگو
– حذف duplicate از QuerySet
– کاربرد متد exclude در خارج کردن خود پست
– متد annotate در جنگو
– فرق متدهای annotate و aggregate
– متد Count و متدهای Min و Max و Avg
– چیدمان کوئری با متد order_by
– بررس مستندات جنگو و QuerySet API
– بررسی مستندات جنگو در کار با دیتابیس
– نمایش مطالب مشابه بر اساس بیشترین تشابه

درس هجدهم: ساخت Template Tag سفارشی
– مفهوم Template Tag در جنگو
– کاربرد تگ تمپلت سفارشی در جنگو
– کاربرد تابع simpla_tag و تابع inclusion_tag
– مفهوم annotation در پایتون در یک نگاه
– استفاده از annotation کلاس Library از ماژول template
– انتقال تابع درج شده به صورت تمپلت به فایل های html
– انتقال فایل html به صورت template tag
– انتقال QuerySet به صورت template tag

درس نوزدهم: ساخت Template Filter سفارشی
– مفهوم Template Filter در جنگو
– فیلترهای تمپلت با پارامتر ورودی
– اعمال چند فیلتر روی یک متغیر در جنگو
– طرح مثالی برای تعریف فیلتر سفارشی ناموجود در جنگو
– مفهوم Markdown چیست ؟
– نصب ماژول markdown با استفاده از pip
– استفاده از markdown برای تبدیل متن به HTML
– استفاده از متد یا تابع mark_safe از safestring در util جنگو
– نمایش HTML تجزیه یا پارس شده توسط جنگو با متد mark_safe

درس بیستم: افزودن Sitemap به وبلاگ
– مفهوم نقشه سایت چیست
– شیوه عملکرد موتورهای جستجو
– ساختار فایل xml نقشه سایت (Sitemap Protocol)
– آشنایی اپ sitemaps در جنگو
– آشنایی با اپ sites در جنگو
– معنی SITE_ID = 1 چیست ؟
– تعریف کلاس SiteMap برای نگاشت url مدل
– نگاشت url نقشه سایت در پروژه
– بررسی نتیجه و تغییر نام دامنه در پنل مدیریت
– مفهوم location و items
– مفهوم lastmod و changefreq
– مفهوم priiority در نقشه سایت

درس بیست و یکم: افزودن RSS مناسب خبرخوان‌ها
– مفهوم RSS یا RDF Site Summary
– آشنایی با شیوه استفاده از لینک RSS
– آشنایی با اپ syndication در جنگو
– طراحی کلاس با ارث بری از Feed
– نگاشت url برای نمایش خوراک سایت
– درج لینک RSS در sidebar سایت

درس بیست و دوم: نصب و راه اندازی PostgreSQL
– آشنایی با پایگاه داده PostgreSQL
– اجرای جستجوی ساده با Query و Filter
– مفهوم Full-text Search چیست ؟
– پایگاه داده Postgres در جنگو
– چرا استفاده از PostgreSQL به جای SQLite
– چرا پایگاه داده Postgres و جایگاه PostgreSQL
– دریافت و نصب PostgreSQL روی ویندوز
– ایجاد یک ROLE به وسیله Superuser
– ایجاد یک پایگاه داده با دستور CREATE DATABASE
– باز کردن pgAdmin 4 و بررسی دیتابیس ایجاد شده با پستگرس

درس بیست و سوم: تغییر پایگاه داده از SQLite به PostgreSQL
– نصب psycopg2 به عنوان adapter پایتون برای Postgres
– مهاجرت پروزه جنگو از SQLite به Postgres با دستور Migrate
– ساخت کاربر مدیر با دستور createsuperuser و داده های نمونه
– بررسی پایگاه داده ساخته شده توسط جنگو به سیستم Postgres
– بررسی دیتابیس blog و جداول آن در pg Admin

درس بیست و چهارم: افزودن صفحه جستجو به وبلاگ
– افزودن اپ django.contrib.postgres به بخش INSTALLED_APPS
– اجرای یک lookup ساده با استفاده از اپ postgres و متد search
– اجرای lookup با ساخت vector همزمان از دو فیلد title و body
– فیلتر کردن نتایج با ذخیره کلاس SreachVector به عنوان فیلد موقت با annotate
– افزودن تمپلت و url صفحه Search به پروژه
– افزودن تابع view برای پردازش جستجو
– بررسی نتیجه و اجرای جستجوی مطالب وبلاگ

درس بیست و پنجم: موتور جستجوی پیشرفته و هوشمند
– ویژگی های یک جستجو یا سرچ پیشرفته
– معنی stem و مفهوم stemming یا بُن یابی در واژه شناسی
– پیاده سازی stemming در برای جستجوی واژه های هم خانواده
– آشنایی با کلاس SearchQuery
– رتبه دهی به نتایج جستجو یا ranking
– پیاده سازی جستجو با ranking با کلاس SearchRank
– وزن دهی یا Weighting بر اساس محل حضور query
– معنی وزن های A تا D در وزن دهی به SearchRank
– کاربرد الگوریتم Trigram در یافتن هوشمند واژه‌های مشابه

درس بیست و ششم: قالب راست چین و پشتیبانی از زبان فارسی
– نحوه استفاده از BootstrapCDN در جنگو
– پیاده سازی لینک های CDN برای استفاده از بوت استرپ در جنگو
– آشنایی با بوت استرپ راست چین یا Bootstrap RTL
– استفاده از لینک های CDN بوت استرپ راست چین
– تنظیم dir سند html برای پشتیبانی rtl
– تنظیم ویژگی charset تگ meta برای پشتیبانی UTF-8
– آزمایش پروژه و نکته‌هایی برای شخصی سازی بیشتر

درس بیست و هفتم: انتشار پروژه جنگو روی هاست آنلاین
– راهنمایی درباره نحوه رزرو هاست و دامنه
– ورود به سی پنل Cpanel
– بارگذاری پروژه هم مسیر با public_html
– ساخت و تنظیم جنگو به عنوان Python App
– نصب کتابخانه ها در virtualenv از ترمینال سرور
– تنظیم مسیر استایل های css اپ ها و ادمین
– تنظیم STATIC_ROOT و STATIC_URL
– آشنایی با دستور collectstatic
– تنظیم ALLOWED_HOST روی دامنه رزور شده
– اجرای اپ و بررسی نتیجه به صورت آنلاین

درس بیست و هشتم: ارسال ایمیل در جنگو با SMTP Server
– یادآوری درس سیزدهم و ارسال ایمیل
– ایجاد اکانت ایمیل و ورود به Webmail
– تنظیم EMAIL_HOST و EMAIL_HOST_USER
– تنظیم EMAIL_PORT و EMAIL_USE_SSL
– حذف ارسال ایمیل مجازی در Backend جنگو
– آزمایش ارسال ایمیل و دریافت توسط کاربر
– نگاهی به پروژه و مسیری که آمدیم

نظرات (99)

99 دیدگاه برای آموزش پروژه محور جنگو ــ ساخت وبلاگ از صفر تا انتشار آنلاین

  1. محمد وحید (خریدار محصول)

    سلام قربان شما ممنون لطف دارین همرویش و آموزش های شما برای من نقش اساسی در مسیر توسعه این نرم افزار داشته. به امید موفقیت های بیشتر

  2. محمد وحید کوه کن (خریدار محصول)

    سلام مجدد حتما استاد با افتخار
    این لینک سایت هست: https://hamta.app/
    سایت مربوط به نرم افزاری هست به نام “نرم افزار تحليل جامع بازار هاى مالى همتا” که با همین نام هم ثبتش کردم و اتفاقا به وسیله kivy/kivymd نوشته شده.
    خیلی خوشحال میشم نظرتون رو هم در مورد سایت و هم نرم افزار بشنوم.
    نرم افزار هم تست رایگان 48 ساعته داره
    در ضمن برای بچه های سایت اگر مایل به تمدید اشتراک بودن بعد از تست بودن یه کد تخفیف “hamruyesh” قرار دادم.
    بازم ممنون از شما استاد

    • مصطفی آصفی

      سلام وقت بخیر. خیلی خوشحالم شدم کارتون رو دیدم. هم رویش کمک اندکی هم کرده باشه تو مسیر توسعه فنی این کار جای شکر داره.
      به نظر کار خوبی میاد. چون زمینه پژوهشی خودمم هست زبانه رو باز نگه می دارم که سرفرصت ثبت نام و بررسی کنم.
      تو صفحه شخصی خودم (+) معرفی می کنم کارتون رو و کد تخفیفش رو که به نظرم فکر خوبیه.

  3. محمد وحید کوه کن (خریدار محصول)

    سلام استاد وقت بخیر
    یه سوال داشتم ، در مورد نماد ساماندهی و اینماد وقتی کد مربوطه رو در فوتر سایت جنگویی خودم قرار میدم نمایش داده نمیشه ، باید چیکار کنم؟ باید تنظیمات امنیتی سایت تغییر کنه؟ مثلا به CORS_ALLOWED_ORIGINS اضافه شون کنم! آیا این کار امن هست؟
    نکته: در مورد ساماندهی کلا یه صفحه سفید باز میشه، اینماد ولی باز میشه اما در کادری که عکس صفحه سایتم میخواد بالا بیاد یه همچین اروری نمایش داده میشه
    To protect your security, example.com will not allow Firefox to display the page if another site has embedded it. To see
    this page, you need to open it in a new window.
    ممنون میشم مثل همیشه کمک کنید حلش کنم

    • مصطفی آصفی

      سلام وقتتون بخیر. شما می تونید به جای کد دریافتی اینماد و دستکاری تنظیمات امنیتی CORS صرفا تصویر اینماد رو به صفحه اینماد کسب و کار لینک خارجی کنید. البته از نظر اینماد این کار درست نیست اما گمانم نمی کنم کارشناس اینماد روی اون مشکل بگیره چون تصویر که درج میشه و لینک هم که درج میشه.

      پی‌نوشت: اگه دوست داشتین سایتی که با جنگو بالا اوردین رو معرفی کنید. برای فراگیران می تونه دلگرم کننده باشه که سایت های واقعی بر اساس یافته های دوستانشون از هم رویش ساخته شده.

  4. حمید شعبانی (خریدار محصول)

    سلام وقت بخیر
    آیا با بارگذاری سایت بر روی یک هاست آنلاین میتوان دوربین دستگاه کلاینت را باز کرد؟

    • مصطفی آصفی

      سلام وقت بخیر. این گفتگو (+)‌ و لینک‌هایی که تو پاسخ گذشته شده سرنخ‌های مفیدی براتون داره.

  5. aryary (خریدار محصول)

    با سلام خدمت شما.خطایی با متن زیر رو در دیپلوی روی هاست دریافت کردم.
    django.db.utils.OperationalError: connection to server on socket “/var/run/postgresql/.s.PGSQL.5432” failed: No such file or directory
    Is the server running locally and accepting connections on that socket?

    در ادامه کامنت قبلی، این خطا را وقتی که دستورات python manage.py migrate , python manage.py createsuperuser را اجرا می کنم میده و اپلیکیشن های جنگو با اس کیو لایت مشکلی نداره.

    • مصطفی آصفی

      سلام وقت بخیر. بله مشکل از پوستگرس هست. بهتره نصب ماژول ها رو با ماژول های مشابه من پیش برید و مطمئن بشید که سی پنلی که دپلوی می کنید هم همین نسخه رو استفاده می کنه. اگه از این مطمئن هستید احتمالا باید نصب رو مجدد انجام بدین و نصب خود پوستگرس به درستی انجام نشده و مراحل دیگه ای رو آزمایش کنید که با جستجوی متن خطا تو گوگل پیدا می کنید. مثلا این تالار از استک اورفلو (+) راهکارهایی رو پیشنهاد دادن.

  6. رامین بیات فرد (خریدار محصول)

    با سلام استاد بعد از دیدن قسمت 9 و پیاده سازی کدها به ارور زیر برخوردم:
    sequence item 0: expected str instance, tuple found
    و بعد از جستجو های فراوان نتونستم مشکل رو برطرف کنم
    لطفا راهنمایی می فرنایید

    • مصطفی آصفی

      سلام به شما. البته باید لاگ خطا و شرایط کدتون رو دقیق تر توضیح بدین ولی با این توضیح کم، ممکنه به خاطر داده بدی باشه که یا تو دیتابیس دارین یا تو تنظیمات دارین پاس میدین. این داره میگه من یکجایی استرینگ می خوام ولی دارم تاپل دریافت می کنم. البته این امکانم هست که یه اپ تو جنگو نسخه جدیدی بده که وقتی نصبش می کنید با تنظیمات قبلی ناسازگار بشه. سعی کنید همون نسخه جنگو و اپ ها رو از روی مخزن گیت هاب نصب کنید.

  7. baeidi (خریدار محصول)

    چشم استاد آصفی بزرگوار. حتما

  8. baeidi (خریدار محصول)

    بسیار ممنون از وقتی که گذاشتید و نظرات ارزشمند شما استاد گرامی
    چشم حتما. سپاسگزارم.
    ارادتمند

    • مصطفی آصفی

      ممنون از لطف شما. اگه امتحان کردین و هاستیگ خوبی پیدا کردین ممنون میشم برای اطلاع دوستان دیگه اینجا تجربه خودتون رو هم بعدها برگردونید.

  9. baeidi (خریدار محصول)

    سلام و عرض ادب خدمت جناب استاد آصفی گرامی
    من از دانشجویان دوره های پایتون ، جنگو ، کیوی ، شبکه های عصبی و … جنابعالی در سایت همرویش هستم.
    ضمن تشکر از تدریس فوق العاده جنابعالی ، با توجه به اینکه در دیپلوی سایت این دوره از هاستینگ پارس وب سرور استفاده فرمودید نظر به اینکه قیمت های هاست پایتون این شرکت بسیار بسیار رشد کرده و اصلا مناسب هاست های آموزشی اینچنینی برای امثال ما نمی باشد لذا مزاحم شدم از شما سوال کنم جنابعالی پیشنهاد دیگری در خصوص شرکت هاستینگ پایتونی مناسبتر و با قیمت مقرون به صرفه برای دانشجویان این دوره دارید.مجددا و به نوبه خود از زحمات شما و تدریس فوق العاده جنابعالی ممنون و سپاسگزارم.
    ارادتمند

    • مصطفی آصفی

      سلام و وقت بخیر. ممنونم که اطلاع دادین. منم الان دیدم متاسفانه قیمتاشون برای دانشجو خیلی بالا رفته. ولی مشکلی نیست شما گوگل کنید «هاست پایتون» و از بین سایت های دیگه انتخاب کنید. من الان گشتم هاست های ارزون تر بود. کافیه هاست پایتون باشه و بر پایه CPanel .
      وبسایت pythonanywhere (+) هم پلن رایگان داره. برای دپلوی پروژه روی اون کافیه تو گوگل «آموزش pythonanywhere» رو بزنید فیلم هایی در این زمینه هست. پایتون زیست بوم گسترده ای داره. چیزی که امروز مشکل شماست مشکل بسیاری دیگه هم هست پس احتمالا با جستجوی نیازتون توی گوگل راهکار فراوان پیدا می کنید. فقط باید از خراب شدن پروژه نترسید و امتحانشون کنید تا برنامه نویس خودکاری بشین. برای احتیاط یه نسخه از آخرین کارتون رو یا گیت کنید یا زیپ کنید و یه جا نگهداری کنید.

      پی‌نوشت: امیدوارم آقای حسن زاده تو پروژه فروشگاه جنگو (+) به زودی فصل ۹ رو کار کنن و دپلوی روی سرویس‌های ابری رو هم یاد بگیرید که خیلی دستتون رو باز می کنه و بر حسب مصرف پرداخت می کنید.

  10. مروتی

    سلام جناب آصفی
    با پایتون و جنگو میشه وب اپلیکیشن نوشت یا خیر؟
    یا باید از کتابخانه های دیگر استفاده کرد.

    • مصطفی آصفی

      سلام به شما. بله میشه. از Streamlit(+) هم می تونید تو این زمینه استفاده کنید که کدنویسی کمتری نیاز داره.

      پی‌نوشت: تعریف وب اپلیکیشن اگه صفحه وبی باشه که در اون هدف‌های اصلی کاربری صفحه بدون بارگذاری مجدد صفحه اجرا بشن، در این صورت ترکیب جنگو با ایجکس چنین فضایی رو فراهم می کنه که در آموزش ساخت وبسایت شبیه اینستاگرام با جنگو (+) در مورد پسند تصویر یا دنبال کردن افراد پیاده‌سازی کردیم. اگه منظورتون چیز دیگه‌ای هست هم بفرمایید تا بیشتر هم‌فکری کنیم.

  11. reza maleki (خریدار محصول)

    سلام و عرض ادب خدمت آقای آصفی
    ببخشید بنده در قسمتی که می خوام پایگاه داده رو از sqlite به postgresql تغییر بدم هنگامی که migrate می کنم با این خطا مواجه میشم.
    django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named ‘psycopg2’
    ممنون میشم راهنمایی کنید با سپاس

    • مصطفی آصفی

      سلام به شما. این خطا ممکنه به دلیل ناسازگاری نسخه پایتون شما با psycopg2 (مثلا پایتون ۳.۸ گزارش مشکل زیاد داره) یا پیشنیازهای سیستم باشه. پیش از هر کاری این کار رو امتحان کنید:
      نسخه باینری رو نصب کنید:
      pip install psycopg2-binary
      در تنظیمات هم حتما
      ‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’
      رو بررسی کنید که فراموش نکرده باشید.

      پی‌نوشت: مهم ترین چالش جامعه پایتون رشد کتابخانه های مختلف و ناسازگاری های مکرر اون هاست. همیشه سعی کنید بر اساس فایل requirements.txt دوره ها رو با همون نسخه های پکیج های آموزش پیش ببرید که به مشکل نخورید.
      پی‌نوشت ۲: چنین مشکلاتی که ممکنه نیاز داشته باشه چند راه رو امتحان کنید و یکیش به سیستمتون بخوره از گوگل و stackoverflow غافل نشید. الان همین خطای psycopg2 module: No module named ‘psycopg2 رو اگه گوگل کنید چند فروم استک اورفلو براتون میاد که میشه راهکارهای مختلفی رو امتحان کرد.

  12. reza maleki (خریدار محصول)

    سلام استاد وقت بخیر
    ببخشید من وقتی می خوام که محیط م رو فعال کنم با همچین خطای مواجه میشم ممنون میشم راهنمایی کنید.
    venv\Scripts\activate : File C:\Users\Marefat-PC\PycharmProjects\pro_blog\venv\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at
    https:/go.microsoft.com/fwlink/?LinkID=135170

    • مصطفی آصفی

      سلام وقت بخیر. این خطا مربوط به امنیت PowerShell هست. شما می تونید اول دستور پایین رو تو پاور شلی که برای ساخت venv باز کردید اجرا کنید تا موقت این ضریب امنیتی رو برداره:
      Set-ExecutionPolicy Unrestricted -Force
      یا این که یک پاورشل با جستجوی کلمه powershell در سرچ ویندوز و انتخاب run as administrator باز کنید و اونجا محیط مجازی رو بسازید.
      یا این که برای ساخت محیط مجازی به جای پاور شل از command prompt ویندوز استفاده کنید. کافیه کلمه cmd رو تو جستجوی ویندوز تایپ کنید و بعد از اجرا با دستور cd به مسیر مورد نظر برید یا اگه تو VSCode هستید سمت راست ترمینال روی + بزنید و ترمینال CMD باز کنید.

  13. ابوالفضل حسن زاده (خریدار محصول)

    سلام اقای حسینی عزیز وقت شما بخیر. اگر که همینطوری که اینجا نوشتید کد رو نوشته باشید … خب یه اشتباه تایپی دارید اون get باید همش با حروف بزرگ نوشته بشه.
    request.GET.get

  14. محمدحسین حسینی (خریدار محصول)

    سلام و عرض ادب
    من دوره رو کار کردم ولی توی درس ساخت صفحات paginator به مشکلی خوردم هرچی هم سرچ میکنم جواب رو پیدا نمیکنم خواستم کمک کنید.
    مشکل با این page = request.Get.get(‘page’) هست. میگه اینجور اتریبیوتی رو نداری. ممنون میشم کمکم کنید.

    ارور:
    AttributeError at /blog/

    ‘WSGIRequest’ object has no attribute ‘Get’

    • مصطفی آصفی

      سلام به شما. کلمه Get رو اشتباه نوشتید. به این شکل GET درسته.

      پی نوشت: لطفا این نشانی (+) رو ببینید و مطمئن بشید که همین نسخه ها رو در کنار پایتون ۳.۷ برای پیشبرد آموزش استفاده می کنید. پایتون به سرعت رشد می کنه و موقع آموزش دیدن باید نسخه های یکسان استفاده کنید. بعدها می تونید ارتقا بدید.

  15. askari (خریدار محصول)

    سلام استاد وقت بخیر
    خیلی سعی کردم با سرچ کردن مشکلمو حل کنم اما نشد
    اکستنشن pg_trgm نصب کردم اما عملگرها و توابع وجود ندارند
    و هنگام سرچ ارور میده:
    function similarity(text, tsquery) does not exist
    LINE 1: SELECT COUNT(*) FROM (SELECT SIMILARITY(“weblog_topic”.”body…
    ^
    HINT: No function matches the given name and argument types. You might need to add explicit type casts.
    لطفا راهنمایی کنید.

    • مصطفی آصفی

      سلام وقت شما هم بخیر. خطا داره می گه که شما این اکستنشن رو نصب ندارید. ممکنه نصب کرده باشین ولی نه روی دیتابیسی که دارید برای جنگو استفاده می کنید. اگه این طور باشه از دستور پایین باید بتونید مشکل رو حل کنید:
      from django.db import connection
      with connection.cursor() as cursor:
      cursor.execute(‘CREATE EXTENSION IF NOT EXISTS pg_trgm’)
      به این شکل بررسی می کنید که اگه اکستنشن نصب نیست اون رو با کوئری خام روی دیتابیس نصب کنه.

  16. محسن عزیزی (خریدار محصول)

    سلام بر مهندس آصفی عزیز
    یه سوال داشتم
    اینکه آیا امکان ترکیب SearchRank و TrigramSimilarity برای ایجاد یه جست‌وجوی پیشرفته هست یا خیر؟
    شما این موضوع رو در دوره مطرح کردید
    من تلاش کردم برای حل اما نتیجه اون چیزی که میخواستم نشد
    امکانش هست که من رو راهنمایی کنید
    https://github.com/Mohsen7640/blog/blob/main/blog/views.py
    این لینکه پروژه است رو گیت هاب خودم
    ممنون میشم راهنمایی ام کنید

    • مصطفی آصفی

      سلام به شما آقای عزیزی. لطفا بخش اصلی مشکلتون رو مطرح بفرمایید که بتونم راهنمایی کنم. بنده حقیقتا نمی‌رسم که سورس کدهای ارسالی دوستان رو به صورت کامل بررسی کنم.
      برای مثال: من این چند خط رو نوشتم که این اتفاق بیفته ولی این خطا رو می گیرم یا در عمل به این شکل خروجی داره. در عوض می‌خوام به این شکل بشه.
      به این صورت اگه بنویسید بنده می‌تونم سریع منظورتون رو بفهمم و اگه بلد باشم راهنمایی کنم.

  17. محمد حسنی (خریدار محصول)

    سلام استاد عاصفی عزیز
    بنده در ائاسط این دوره تون هستم و واقعا تا اینجا بسیار راضی بودم از دوره ای که برگزار کردید. بیان شما بسیار شیوا میباشد. سوالی که تا اینجا برام پیش آمده برقرار نشدن ارتباط بین جیمیل و اپم هست و نمیدونم چرا درخواستم با وجود تنظیماتی که شما گفتید و انجام دادم ریجکت میشود و با ارور زیر مواجه میشوم:
    ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

    • مصطفی آصفی

      سلام و ممنون از محبت شما. خوشحالم که آموزش رو مفید دیدید.
      این خطا داره می گه که فایروال سرور گوگل داره درخواست شما رو پس می زنه. شما باید از این نشانی (+) دست کم به صورت موقت امکان دسترسی رو فراهم کنید. البته بعدا به حالت اول برگردونید چون برای جیمیلتون خطر داره. تو آموزش ساخت اینستاگرام با جنگو (+) که بعد از این دوره احتمالا می بیینید اونجا با توجه به این که شبکه اجتماعی بوده روش دیگه ای توضیح دادم که اصولی تره. البته اگه اون دوره رو تهیه نکردید مشکلی نیست تو دوره فروشگاه هم انشالله این رو خواهیم داشت.

  18. وحید ییلاق بیگی (خریدار محصول)

    سلام جناب آصفی عزیز
    من در درس 23 دچار مشکل شدم. زمان انتقال پایگاه داده با وجود انجام تمامی مراحل با خطا زیر مواجه شدم.
    django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named ‘psycopg2’
    با اینکه ماژول psycopg2.binary هم نصب کردم.

    • مصطفی آصفی

      سلام به شما. اگه باینری رو هم درست نصب کرده باشید و در تنظیمات هم
      ‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’
      رو اضافه کرده باشید. در این صورت ممکنه عدم تطابق نسخه ها مشکل ساز باشه. برای مثال پایتون ۳۲ بیت با سایکوپیجی ۳۲ بیت همساز نیست. یا گزارش یه کاربر رو می خوندم که پایتون ۳.۸ با psycopg 3.8.2 سازگار نیست. سعی کنید دقیقا از نسخه های بنده استفاده کنید و نتیجه رو اعلام کنید.

  19. حسین مطهری فر (خریدار محصول)

    سلام
    در درس 6 در فایل views.py در تابع post_detail چرا وقتی میخواهیم جزئیات یک پست را مشاهده کنیم از slug و post استفاده می کنیم و چرا مثل دوره LLog وقتی یک لینک را انتخاب می کردیم از ID اون لینک استفاده نمی کنیم .
    مفهوم slug ,و post را درک نمی کنم. وقتی میشه از id استفاده کرد.
    def post_detail(request, year, month, day, post):
    post = get_object_or_404(Post, slug=post ,
    status=’poblished’,
    publish__year=year,
    poblish_month=month,
    publish__day=day)
    return render(request, ‘blog_app/post/detail.html’, {‘post’: post})

    • مصطفی آصفی

      سلام به شما. اگه درس بعدی (URL) رو با دقت ببینید موضوع واضح تر میشه. فرض کنید کاربری نشانی یک پست شما رو تو بوکمارک هاش نشانه گذاری کردی. نشانی صفحه جزئیات یک پست شامل چیه؟ year + month + day + slug درسته؟ شما اینجا id نداری. از نظر امنیتی هم درست نیست که قرارش بدی. حالا اگه کاربر تو مرورگر درخواست این url رو مستقیم از مرورگرش بفرسته جنگو از کجا باید بفهمه که چه پستی رو پیدا کنه؟

      دقت کنید که کاربر همیشه نمیاد تو سایت از صفحه اصلی روی اون پست کلیک کنه که شما اونجا اون post رو داشته باشی.

  20. t (خریدار محصول)

    استاد عزیز سوالی ذهنمو مشغول کرده بنده یک ایده ای ماشبه وب سایت https://www.dideo.ir/ دارم با مقداری تفاوت و ارایه خدماتی اختصاصی ایده من بدین شکله که ویدیو های یوتیوب رو در سایت خودم نمایش بدم ویدیو هایی که از دسته بندی یا از کانال خاصی اوتومات گرفته میشه و در سایت بنده به نمایش در میاد چنان چه به سایت https://www.dideo.ir/ سری بزنید متوجه میشید که این سایت ویدیو ها رو از یوتیوب میگیره و بدون فیلتر در سایت خودش به نمایش میزاره بنده قبل این ایده به ذهنم رسیده بود جستجو کردم دیدم بله این امکان وجود داره که ویدیو ها رو میشه بدون فیلتر بیاریم در سایت نمایش بدیم! لطفا در این مورد کمی توضیح بدید که با جنگو سراغ چه چیز ها و شاخه هایی بریم برای یادگیری این مورد واقعا اگه کمی در مورد روندکلی راهنمایی کنید بهتون قول میدم یادش بگیرم. ممنون

  21. ابوالفضل حسن زاده

    سلام و عرض ادب و احترام خدمت استاد آصفی و اقای بیگی. خواهش میکنم اقا کاری نکردم.

  22. vahidbeygi (خریدار محصول)

    سلام و عرض ادب میخواستم تشکر کنم از شما جناب مهندس آصفی عزیز من بیش از یکسال هست که از آموزش های شما دارم استفاده میکنم دقیقا از همون زمان که این وبسایت کارش رو شروع کرد و به تازگی موفق شدم که وبلاگ خودم رو با فریم ورک شگفت انگیز جنگو آماده ارسال به میزبان آنلاین کنم. اینجا میخوام از آقا ابوالفضل حسن زاده عزیز هم تشکر کنم به خاطر ساخت تمپلیت بی نظیرش . این جوون آینده خوبی داره. خیلی خوشحالم که چنین جوون هایی داریم و با وجودشون به آینده ی کشورم امیدوار میشوم.

    • مصطفی آصفی

      سلام به شما آقای بیگی و ممنون که برای ابراز لطف خودتون مراجعه کردین.
      جای خوشحالی داره که آموزش ها براتون مفید بوده. و البته کار شما از همین جاست که شروع میشه: پیاده سازی چیزهای تازه روی وبلاگتون. از اینجاست که شروع به خودآموزی و پیشرفت می کنید.
      امیدوارم در این مسیر موفق باشید.
      بنده هم به آینده آقای حسن زاده عزیز بسیار امیدوارم و از ایشون برای روحیه مشارکتشون تقدیر می کنم.

      پی‌نوشت: در صورت تمایل می تونید نشانی وبلاگی که ساختید رو اینجا بگذارید یا برای مدیر اینستاگرام بفرستین تا دیدنش برای بچه ها انگیزه بخش باشه.

  23. سید محمد حسینی (خریدار محصول)

    آموزشتون عالیه

    • مصطفی آصفی

      سلام و ممنون از لطف شما و این که برای ارسال انرژی مثبت خودتون وقت گذاشتید.

  24. ابوالفضل حسن زاده

    سلام به تمامی دوستان و هنرجویان عزیز هم رویش. دوستانی که در طراحی ریسپانسیو تمپلت مشکل دارند ولی مخواهند هرچه زودتر پروژه ها شون رو بالا بیارن بنده حاضرم براشون تمپلت کاملا ریسپانسیو و رایگان براشون بزنم بعد ها که دانش شون در تمپلت بیشتر شد خودشون تمپلت اختصاصی بزنند. اگر دوست داشتید به این شماره در واتساپ پیام بدید. 09191931548

    • مصطفی آصفی

      سلام و آفرین به شما. پیشنهادتون خیلی خوبه. همچنین برای این که یک مرتبه مهارتتون از این کار رو به افراد بیشتر و بیشتری منتقل کنید می‌تونید به مدرسان هم رویش بپیوندید و بحث طراحی قالب رو به صورت آموزش‌هایی عرضه کنید.

  25. ابوالفضل حسن زاده

    سلام و عرض ادب و احترام خدمت استاد آصفی.
    این رو میگم چون من آدم یک رویی هستم در کامنت هایی گذاشتم این کاملا مشهوده واقعا استاد اصفی در زندگی من در رفتار من و حتی در لحن و گفتار من تاثیر به سزایی داشتند و من از ایشون و تشکر میکنم و بابت آموزش های خوبی که تولید میکنند به ایشان خسته نباشید و خدا قوت میگم.

    • مصطفی آصفی

      سلام آقای حسن زاده عزیز. ممنونم از محبت شما.
      این نشون می‌ده که شما در تلاش خودسازی هستید و از هر کس ویژگی‌های خوبی رو که می‌بینید، تحلیل و احتمالا برای خودتون الگوبرداری کنید.
      امیدوارم که در مسیر خودشناسی هم مثل مسیر کار و حرفه، همواره در پژوهش باشید و به کاوش خود واقعیِ خودتون هم بپردازید.

  26. ابوالفضل حسن زاده

    سلام اقای مرادی خسته نباشید.
    حالا من کاره ای نیستم ولی خب اونچه که میدونم رو به شما میگم. من هر موقع تمرین میکردم یا رو وبلاگم کار میکردم اگر مدلی رو ایجاد میکردم بعد به هر دلیلی مجبور به پاک کردن اون و اصلاح دیتابیس میشدم، مدل رو از فایل models.py پاک میکردم دوباره makemigrations و migrate رو اعمال میکردم.

    • مصطفی آصفی

      سلام و ممنون از روحیه مشارکت خوب شما. جواب شما خوب و کامل هست.

  27. sina_moradi (خریدار محصول)

    سلام آقای آصفی خسته نباشید
    متاسفانه ننوشته تو کدوم خط خطاست که اونجا رو درست کنم
    میخواستم ببینم آقای آصفی میشه با اینکه یه جدولی رو با models.py تو دیتا بیس ایجاد کردیم پاک کنیم ؟ (با اینکه خطا میده)

    • مصطفی آصفی

      سلام. می بخشید جواب شما دیر شد. همون طور که دوست عزیزمون گفتن مدل رو اصلاح و از نو دیتابیس رو مهاجرت بدید.

  28. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید.
    درست می فرمایید استاد واقعا این اتفاق فاجعه امیز هستش.
    از لینک هایی که در اختیار بنده گذاشتید بسیار سپاس گذارم.
    استاد من طبق گفته های شما در رابطه با hasssan.net یه سری تغییرات دادم و از همه مهم تر خیلی وقت پیش تغریبا چند ماه قبل از انتشار فصل اول شبکه اجتماعی باجنگو من درگیر استفاده از markdown روی متون فارسی بودم که بالاخره با راهنمایی های شما ، جست و جو کردن و تست کردن روش های مختلف موفق به اعمال این ویژگی شدم‌. اصلا استاد بگذارید حس درونم رو بگم با markdown پست گذاشتن خیلی حال میده 🙂 تمامی استایل هایی که الان شما روی متن میبینید همه از markdown استفاده شده.
    سپاس فراوان از شما استاد بزرگوار.

    • مصطفی آصفی

      سلام پسرم سلامت باشی. ممنون که تجربه خودت رو با من و دوستان دیگه در میون گذاشتی.
      سایتت خیلی حرفه ای تر و زیباتر شده. مخصوصا با تم تاریک که می تونی اون رو به عنوان قالب پیش فرض تنظیم کنی.
      انشالله که هر روز در پژوهش و یادگیری باشید

  29. Alireza Pakravan

    سلام استاد وقتتون بخیر. ببخشید توی این دوره از API هم استفاده میکنین؟

    • مصطفی آصفی

      سلام به شما. خیر تو این دوره از تمپلت برای فرانت اند استفاده می کنیم.

  30. sina_moradi (خریدار محصول)

    سلام آقای آصفی
    ممنون بابت آموزش های خوبتون
    آقای آصفی شرمنده من تو قسمت ایجاد کامنت برای postها با شما جلو میام ولی به یک AttributeError برمیخورم که مینویسه
    ‘tuple’ object has no attribute ‘split’
    متاسفانه خط ارور رو هم نمی نویسه که آدم برطرف کنه
    ممنون میشم نظری داشته باشین

    • مصطفی آصفی

      سلام به شما. بر اساس گزارشی که دارید می کنید احتمالا یک جا یه اشتباه کوچیک کردید. شاید یه کاما یه جایی تو فهرست مثلا موتور دیتابیستون
      DATABASE_ENGINE = ‘sqlite3’,
      یا یک مشکل کوچیک دیگه. لطفا بررسی کنید که خطا داره روی چه خط کدی داده میشه و اون خط رو بررسی کنید و اگه متوجه منظور نشدید اینجا بنویسید که با هم بررسی کنیم.

  31. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید.
    استاد این عکس های معرفی اموزش ها رو خودتون در هم رویش تولید میکنید درسته ؟؟
    میخواستم بپرسم میشه من هم از این عکس ها استفاده کنم یا نه گفتم شاید این عکس ها مال هم رویش هستش و حقوق مادی معنوی و از این جور چیز ها دور از اخلاق و ادب حرفه ای هستش که بدون اجازه استفاده کنیم.
    استاد یک سری اصطلاح هستش اگر یک مختصر توضیحی دهید ممنون میشم. مثلا میگن برنامه نویس فول استک یا سینیور یا جونیور. یعنی چی ؟؟؟

    • مصطفی آصفی

      سلام به شما. این که جوون های نسل تازه ما در رابطه با حقوق معنوی دغدغه دارن باعث خوشخبتیه و برای بنده باعث خوشحالیه که جامعه ما به چنین سمتی می ره.
      در مورد عکس بسته های آموزشی (شاخه ها) باید بگم که چارچوب این ها توسط گرافیست هم رویش ایجاد شده و محتوای داخلی هم با ترکیب تصویرهای مرتبط و رایگان خارجی در گوگل به دست میاد.

      با توجه به این که هم رویش یک ناشر رسمی دیجیتال هست و آثارش در ارشاد ثبت میشن این ها مشمول حقوق معنوی هستن و امکان استفاده مجدد از اون ها برای یک آموزش جدید از طرف ناشر دیگه نیست. یعنی متعلق به یک نفر مثل بنده نیستن که بنده بتونم مجوز استفاده بدم بلکه متعلق به یک موسسه هستن.

      مهم ترین دلیل هم اینه که کاربر ممکنه در جای دیگه تصور کنه که محصولی که می بینه متعلق به هم رویش هست در حالی که هم رویش از تولید اون خبری نداره و چه بسا که کیفیت اون بسته مورد تایید هم رویش نباشه.
      فرض کنید یک نفر سایتی ایجاد کنه نامش رو بگذاره سایت ابوالفضل حسن زاده و عکس شما رو هم بگذاره. طبیعتا ممکنه مطالبی بنویسه که شما راضی نیستید به نام شما منتشر بشه.

      اما بگذارید راهنماییتون کنم. شما می تونید عکس هایی که در گوگل حق نشر ندارن رو پیدا و با ترکیب بندی عکس های تازه ای بسازید. مثلا لوگوی جنگو رو به رایگان می تونید از اینجا دریافت و در پروژه هاتون با تصویرهایی مرتبط با سوژه ای که دارید استفاده کنید. این وبسایت دانلود رایگان آیکن هم ببینید.

      در مورد اصطلاحاتی که پرسیدید این ها خیلی تعریفشون وسیع هست. پیشنهاد می کنم به مجله هم رویش که یک مقاله خوب در این مورد کار کنن.

  32. امین اجاقی (خریدار محصول)

    با سلام و درود فراوان خدمت استاد برزرگ و گرامی مصطفی آصفی عزیز استاد عزیز من آن آموزش شبکه اجتماعی را تهیه کرده ام پس قبل شروع پروژه آن میبینم سپس به سراغ پروژه می روم فقط اکنون سری یک آموزش موجود است آیا این آموزش در همین سری می باشد ؟ و در مورد دستور sudo ما در صدد کار با کتابخانه TrigramSimilarity هستیم که در پایگاه داده postgresql کار می کند و من یک بار آن روش را از طریق آموزش رفتم ولی user را در آموزش ساخته بودیم و بعدا با جستوجو در اینترنت یاد گرفتم که آن user را به superuser تغییر بدم زیرا برای ساختن EXTENSION کاربر باید superuser باشد که با تغییر کاربر و ادامه دستورات سرچ برای من کار نمی کرد و آن خطا هایی که برایتان عکس هایش را ارسال کردم میداد و این ترمینال نیز که نام آن CMDER میباشد یک ترمینال برای ویندوز است که فرمان های لینوکس درون آن عمل می کند که فرمان sudo را آنجا اجرا کردم ولی عمل نمی کند .
    با تشکر از مهربانی های فراوان شما استاد عزیز . 3>

    • مصطفی آصفی

      سلام جناب اجاقی. ممنون از محبت شما. بله فصل اول شامل همین بحث هست. در مورد مشکلی که با دستور sudo دارید پیشنهاد می کنم اگر بتونید یک فضایی از یکی از درایوهاتون خالی کنید در حد 30 یا 40 گیگابایت هم کافیه. بعد یک لینوکس ابونتو کنار ویندوز از پایه نصب کنید یا یک ماشین مجازی مثل VM Box مثلا از اینجا دریافت و فایل نصب سیستم عامل لینوکس توزیع ابونتو هم از اینجا دریافت و روی اون ماشین مجازی نصب و راه اندازی کنید. به این صورت یک سیستم عامل واقعی خواهید داشت.
      آموزش نصب و راه اندازی اوبونتو روی VM هم در نت فارسی هست. می تونید در آپارات اول یکی دو مورد ببینید که با دید بازتری اقدام کنید.

  33. ابوالفضل حسن زاده

    سلام استاد خسته نباشید.
    استاد من تفاوت این عملگر افزایشی رو متوجه نشدم.
    int x = 5;
    int y ;

    y = ++x; ===> y == 6 , x == 6
    y = x++; ===> y == 5 , x == 6

    استاد بسیار از نظرات شما سپاس گزارم. دارم روش کار میکنم.

    • مصطفی آصفی

      سلام به شما. عملگر ++ وقتی پیش از متغیر بیاد به عملگر = هم مقدم میشه. بنابراین در بالا اول x یک واحد اضافه میشه و بعد مقدار y محاسبه میشه. در مقابل عملگر ++ وقتی بعد از متغیر بیاد اولویت اجراش از عملگر = کمتر میشه. در کد دوم اول مقدار y مساوی x میشه و بعد x یک واحد اضافه میشه. این موضوع به خصوص در شمارنده حلقه ها باید بهش توجه بشه.

  34. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرامی مصطفی آصفی عزیز استاد در مورد فرمان sudo من در آن را در ترمینال لینوکسی در ویندوز اجرا کردم زیرا من با لینوکس کار نمی کنم و آن سیستم عامل را ندارم و در مورد سوال دیگر اینکه در سوال گفتم از تکی استفاده کردم ولی اکنون دیدم که تگ نیست آن تگ ، تگ که من عکس را در مسیر فایل افئم قرار می دهم سپس و با به این صورت قرار می دهم آن حرف a در آخر کد وجود ندارد ولی عکس در صفحه باز نمی شود حتی من عکس را با یک مرورگر نیز باز کردم و آن آدرس که در مرورگر نشان میدهد را نیز آنجا قرار دادم ولی باز هم عکس باز نمی شود .

    • مصطفی آصفی

      سلام مجدد. در مورد فراخوانی عکس پایین خدمتتون توضیح دادم. در مورد دستور sudo لطفا بیشتر توضیح بدین که چه دستوری رو قصد دارید اجرا کنید و این ترمینال لینوکسی که در ویندوز می فرمایید چطور ایجاد کردید؟

  35. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرامی مصطفی آصفی استاد عزیز من در حال نوشتن وبسایتی برای آژانس دایی خودم می باشم و با مسئله ای که روبرو شدم این است که می خواهم عکسی در صفحه قرار دهم و با جستوجو در اینترنت یافتم که این کار با تگ ممکن است و من با این تگ به این صورت
    کد را قرار دادم و فایل تصویر با همین نام را نیز در پوشه ی درون templates قرار دادم که فایل های html را در جنگو آنجا قرار می دهیم ولی عکس در صفحه باز نمی شود زمانی که وارد صفحه می شوم. آیا کاری هست که باید برای load شدن عکس انجام دهیم ؟
    با تشکر از محبت و مهربانی شما استاد عزیز و دوست داشتنی .

    • مصطفی آصفی

      مجددا سلام جناب اجاقی عزیز. ببینید برای نمایش عکس در جنگو باید عکس ها رو در پوشه static قرار بدین. شما می تونید در اپ مورد نظرتون یک پوشه static قرار بدین و بعد به شیوه ای مشابه این آموزش نمایش عکس در تمپلت در جنگو (+) عکس رو از اون پوشه فراخوانی کنید.

      پی‌نوشت: توضیح بالا برای نمایش یک عکس ثابت در تمپلت بود. برای کار کردن پویا با عکس ها می تونید از ImageField در مدل ها استفاده کنید که متاسفانه گنجایش بخش نظرات در حدی نیست که بشه تمام موضوع و حالت‌های اون رو توضیح داد. در این آموزش ساخت شبکه اجتماعی با جنگو (+) با مثال زدن عکس پروفایل کاربر این موضوع رو توضیح دادم.

  36. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرامی مصطفی آصفی عزیز و دوست داشتنی استاد متن خطا متن زیر می باشد .
    با تشکر از محبت و مهربانی شما استاد عزیز .
    ‘sudo’ is not recognized as an internal or external command, operable program or batch file.

    • مصطفی آصفی

      سلام جناب اجاقی عزیز. شما در چه محیطی دارید از sudo استفاده می کنید؟ یادتون باشه که sudo یک دستور سیستمی لینوکس هست. در ویندوز کار نمی کنه.

  37. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد عزیز و گرامی مصطفی آصفی بزرگوار استاد عزیز دستور sudo را در ترمینال cmder که یک ترمینال لینوکسی می باشد اجرا کردم در موتور جنگو در app پروژه ولی خطای ناشناس بودم فرمان را می دهد .

    • مصطفی آصفی

      سلام به شما. سلامت باشید.
      اول به طور کلی یه توضیح در مورد دستور sudo در لینوکس بدم خدمتتون. دستور sudo دستور کار به عنوان ادمین سیستم هست که باید بعد از اجرا گذرواژه سیستم رو بزنید. در ترمینال لینوکس وقتی گذرواژه رو می زنید به شما کاراکترها رو نشون نمیده. پس احتمالا گذرواژه رو درست وارد نمی‌کنید.
      در غیراین صورت باید متن دستوری که می زنید با خطای دریافتی رو بفرستید که بتونم بهتر نظر بدم.

  38. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرانقدر مصطفی آصفی عزیز استاد بالاخره بعد روزها جستوجو در پستی فردی ایده ای نیکو داده بودند که اگر ورژن 32 بیت نرم افزار را نصب کنیم مسئله حل می شود و من رفتم و یکی از ورژن های قدیمی تر که ورژن 32 دارند را نصب کردم و مسئله کاملا حل شده اکنون به سراغ موضوع خودمان می روم و نتیجه را به شما اعلام می دارم با تشکر ار مهربانی های شما .
    دوست عزیزم ابوالفضل حسن زاده ممنون از لطف و مهربانی شما مرد نیکو .

    • مصطفی آصفی

      سلام آقای اجاقی عزیز. ممنون از این همه محبتی که دارید و حتی با وجودی که بنده فرصت نکردم به بررسی مشکل شما بپردازم شما برگشتید و تجربه خودتون رو با دیگران اشتراک گذاشتید. خدا رو شکر که مشکل شما حل شد.

  39. ابوالفضل حسن زاده

    سلام و عرض ادب و احترام خدمت دوست عزیزم اقا امین گل.
    بسیار متشکرم نظر لطف شماست.

  40. امین اجاقی (خریدار محصول)

    با سلام و درود به استاد بزرگوار و عزیز مصطفی آصفی با تشکر از راهنمایی شما استاد نمونه این مطالبی که در این پست ها بود را طی کرده ام ولی به نتیجه ای نرسیدم استاد یک خطایی در هنگام Unistall می دهد که در مورد stop server می باشد error stopping service postgresql-x64-13 متن خطا این می باشد نکته ای که من در کل دریافتم این است که افراد با این خطا زمانی روبرو می شند که یک بار برنامه را پاک کنند و بخواهند دوباره نصب کنند پس موضوع باید در مورد فایل های سیستمی و ارتباطی مستقیم با سرور Postgresql که در Services ویندوز قرار می گیرد باشد زیرا زمانی که دوباره آن را نصب می کنم و با خطا روبرو می شوم و Ok را می زنم یکی این گزینه در Services دیگر موجود نیست و پوشه data نیز تهی می باشد استاد بسیار ممنون و متشکر می شوم از شما اگر با راهنمایی های خودتان من را در این امر هدایت کنید زیرا مسیر ادامه کار را برای من به صورتی مسدود کرده است .

    و با تبریک خدمت دوست و همکلاسی عزیز ابوالفضل حسن زاده به خاطر فعالیت نیکویتان و ساختن این سایت زیبا خدا برکت فراوان به شما و خانواده محترمتان بدهد .

  41. ابوالفضل حسن زاده

    سلام استاد خسته نباشید. استاد من طبق اون دانشی که بدست اوردم و اونچه که فهمیدم چندتا پست تو سایتم گذاشتم از این جدیدترا زیاد مطمئن نیستم که درست نوشتم یعنی اصلا درست فهمیدم ممنون میشم یه نگاه بندازید. hasssan.net

    • مصطفی آصفی

      سلام اقای حسن زاده عزیز. من ویسایت خوبتون رو دیدم. مشخصه که خیلی زحمت کشیدید و دارید حسابی تلاش می کنید. وضعیت Dark Mode که کار کرده بودید ایده خیلی قشنگیه. من سعی کردم به دیده نقادانه سایتتون رو نگاه کنم. ایرادهایی که می بینم رو سخت گیرانه براتون می نویسم که انشالله کارتون قشنگ قشنگ تر بشه:
      به لحاظ رابط کاربری، صفحه به نظر من شلوغه. به نظرم دادن margin بیشتری به عنوان و متن از دو طرف صفحه بدید و کمی فاصله خط ها و بندها رو بیشتر کنید که صفحه خلوت بشه. تو نوار سمت جپ به عکس فاصله خط رو تو لیست پست ها و محبوب ترین ها کمتر کنید.
      می‌تونید بیایید از یک نمونه قالب مشابه در بوت استرپ یا … همه اندازه ها رو الهام بگیرید که قالب خلوتی باشه.

      از نظر محتوا حتما متنتون رو یک مرتبه بعد از نوشتن با دقت بخونید. مثلا تو «اولین پروژه جنگویی» بند دوم نوشتید «به صورت خیلی اما اصولی» که گمانم منظور «به صورت کلی اما اصولی» بوده. حتما متن رو بخونید که اشتباه تایپی و املایی رو برطرف کنید و سال ها خیالتون راحت باشه.
      خیلی خوبه که وقتی خودآمور می نویسید در پست اول، تصویری از آخر کار بگذارید که کاربر دلگرم باشه و بدونه قراره به چه چیزی برسه.
      یه مطلب مرکزی می تونید درست کنید که در اون فهرست همه قسمت های یک خودآموز رو می نویسید. به این شکل در پایان نوشته خودتون در هر قسمت می تونید بگید برای خوندن قسمت های دیگه به فلان مطلب مراجعه کنید که لیست همه رو داره. بعد هر نوشته جدید که می نویسید برید و به اون مطلب مرجع اضافه کنید.

      به طور کلی انگیزه و تلاشتون خیلی خوبه. خدا قوت و آفرین. ضمنا اگه تا این حد علاقه مند به آموزش هستید توصیه می کنم از بخش «تدریس در هم‌رویش» اقدام کنید و موضوع‌های کوچیک جنگو پیشنهاد کنید که از شما به صورت آموزش منتشر بشه. ضمن تحقیق می تونید یادگرفته‌هاتون رو یاد بدید. آموزش هاتون رو می تونید تا سایت خودتون هم معرفی کنید.

      پی‌نوشت: به زودی یک آموزش برای ساختن یک سایت شخصی جذاب با جنگو و یک CMS در هم‌رویش خواهیم داشت.

  42. امین اجاقی (خریدار محصول)

    با سلام درود فراوان بر استاد بزرگ مصطفی آصفی عزیز و گرامی استاد پس از پیام آخر شما به سراغ کار با پستگرس رفتم ولی دیدم دیگر نمی توانم به آن وارد شوم نه از طریق ترمینال و نه از طریق pgadmin و خطایی مبنی بر این که نمی توان به سرور کانکت شد می دهد و سپس به جستجوی حل آن رفتم و روش هایی از اینترنت یافتم ولی در سیستم من عمل نکرد مثل وارد شدن به services و دیدن اینکه آیا پستگرس disable است یا خیر سپس پستگرس را پاک کردم تا دوباره نصب کنم با خطای دیگری روبرو شدم که آن نیز خطای PostgreSQL Windows Installation Problem running post-install step. Installation may not complete correctly “The database cluster initialisation failed” با این خطا روبرو شدم که تمام روش های تصحیح این را نیز جستجو کردم و انجام دادم ولی بر روی سیستم من جواب نمی دهد از یوتیوب چندین مسیر را یافتم و طبق ویدئو پیش رفتم ولی باز هم نشد آیا شما با این خطا آشنایی دارید؟

    • مصطفی آصفی

      سلام به شما. خدا قوت. احتمال داره که متغیر path به درستی صدا زده نمیشه. لطفا این جواب (+) و این جواب (+) مشابه رو بررسی کنید.

      پی‌نوشت: کار با دنیای رایگان و متن باز در عین شیرینی مشکلات عجیب و غریبم زیاد داره. صبور باشید.

  43. امین (خریدار محصول)

    با سلام درود مجدد خدمت استاد بزرگ و گرامی مصطفی آصفی عزیز استاد همانطور که فرمودید در ی=سایت پیکو فایل قرار دادم .
    https://s17.picofile.com/file/8421665484/Error1.jpg
    https://s16.picofile.com/file/8421665642/Error2.jpg
    با تشکر فراوان از محبت شما استاد گرامی .

    • مصطفی آصفی

      سلام به شما. این خطایی که دریافت می کنید داره می گه تابع similarity وجود نداره. در واقع به pg_trgm اشاره می کنه که احتمالا به درستی و روی همین دیتابیس و یوزری که دارید کار می کنید نصب نشده.
      مطمئن بشید که اکستنشن pg_trgm رو نصب کردید. برای این کار اول با دستور پایین به دیتابیس خودتون (مثلا نامش blog باشه) متصل بشید:
      psql blog
      (در ترمینال لینوکس با این دستور و فلگ پایین نام دیتابیس رو مشخص کنید: sudo -u postgres psql –dbname=blog)

      و بعد با دستور پایین اکستنشن رو نصب کنید:
      CREATE EXTENSION pg_trgm;

      یه مورد باگ هم یه دوستی گزارش کرده بود که بنده البته خودم هنوز دسترسی ندارم که آزمایش کنم ولی می گم خدمتتون بعد از اطمینان از نصب صحیح اگه مشکل برجا بود، بررسی کنید. گفته بودن که تابع TrigramSimilarity با search_query کار نمی کنه و باید به جاش بهش string پاس بدین. همین طور به جای SearchVectorField باید بهش فیلد خام پاس بدین.

      این دو رو لطفا با دقت بررسی و نتیجه رو اعلام کنید.

  44. امین اجاقی (خریدار محصول)

    سلام و درود بر استاد بزرگ و مهربان مصطفی آصفی عزیز این لینک های خطا ها می باشد فقط بخاطر تغییر در کد ها در فایل base.html برای فارسی سازی و راست چین کردمن سایت خطایی به آن عنوان هم اضافه شده ولی خطای ابتدایی هم هست .
    https://2share.su/download-temp/11717
    https://2share.su/download-temp/11720
    با تشکر از محبت بی کران شما …

    • مصطفی آصفی

      سلام مجدد. ببینید مطابق تصویری که در این لینک (+) براتون گذاشتم تصویرهایی که فرستادید موجود نیستن. گمانم مشمول حذف 24 ساعتی شدن. لطفا از آپلود سنتری مثل پیکوفایل استفاده کنید که فایل ها از دست نرن.

      پی‌نوشت – شاید به دلیل تاخیر بنده در بررسی نظر بوده. از این بابت عذرخواهی می کنم.

  45. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی مصطفی آصفی عزیز استاد در مرحله جستوجوی پیشرفته بسیار شاد شدم از این که تمرینی برای ما فراهم آوریدید که جستجوی بر اساس شباهت کلمات را خودمان دست بگیریم و اجرا کنیم و من ابتداَ از StackOverFlow طزیقه آپگرید کاربر PostgreSQL به SuperUser را یافتم که بسیار کارامد بود برایم و سپس Extension را در پایگاه داده ساختم و اقدام به نوشتن کد کردم تنها موردی که نتوانستم دریابم این بود که زمانی که کد را وارد ساختم و جستجو کردم بیشتر ولی نتوانستم با این جستجو صفحه را در مرورگر بعد از جستجو بالا بیاورم و صفحه مرورگر خطا می داد خواستم بدانم که آیا نکته وجود دارد که برایم توضیح بدهید زیرا تا آن لحظه ما با سه کلاس SearchVector, SearchQuery, SearchRank کار کرده بودیم و در این جستجو فقط از این جستجو استفاده کردم به همان صورت که ‘title’ را که در کد مثال توضیحات سایت برای جستجو وجود داشت به جای ‘name’ قرار دادم و query را به جای test یعنی در مجموع به صورت زیر :
    results = Post.published.annotate(
    similarity=TrigramSimilarity(‘title’, query),
    ).filter(similarity__gt=0.3).order_by(‘-similarity’)
    به این صورت جای پرانتزها را در نظر بگیری زیرا در سایت جا به جا می شود بخاطر فیلتری که بعد از نشانه ها اگر حرف نگذاریم جهت صحیح نمی شود پس استاد عزیز من به این صورت که توضیح دادم عمل کردم منتظرم برای توضیحات نیکو و ارزشمند شما استاد بزرگ و گرامی با تشکر خدای متعال برکت فراوان ارزانی شما بدارد .

    • مصطفی آصفی

      سلام و پوزش از تاخیر در پاسخ. لطفا متن خطای دریافتی رو ارسال بفرمایید تا بتونیم به خوبی هم فکری کنیم. اگه متن خطا به درستی ارسال نمیشه از محیط مرورگر هنگام خطا عکس بگیرید و در یک آپلودسنتر رایگان بارگذاری کنید و لینک تصویر را ارسال بفرمایید.

  46. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید.
    استاد من پروژه
    hasssan.net
    از پایه با این اموزش دوباره نوشتم.لطفا یک نگاه می اندازید. اگر اشکالاتی داشت حتی در پست ها ممنون میشم که من رو به نحوی مطلع کنید.

    • مصطفی آصفی

      سلام و پوزش بابت تاخیر. سایتتون و نظرتون رو همون روز بنده دیدم اما به دلیل فشردگی برنامه فرصت نشد. کارتون خیلی خوب شده. راست چین، با فونت و رنگ بندی خوب. آفرین به تلاش شما.
      انشالله با یک آموزش ظرف چند هفته آبنده در همین حوزه وبلاگ یک سی ام اس خوب برای جنگو رو معرفی می کنم که بتونید باز هم سایتتون رو حرفه ای تر کنید.

  47. رضا (خریدار محصول)

    با سلام از اونجایی که سایت امکان مشاهده آنلاین محتوای دروس آموزشی رو نداره و باید فایلها حتما دانلود بشن لطفا حداقل فایل ها رو به صورت زیپ نشده قرار بدید لینک دانلودش رو تا ما بتونیم لینک دانلود رو وارد نرم افزار اجرای فیلم کنیم و بصورت آنلاین نگاه کنیم تا نیازی به دانلود نباشه. الان اینطوری نمیشه چون وقتی لینک دانلود رو میزنیم یه فایل زیپ دانلود میشه که آموزش داخل اون هست. یا اگر حتما باید زیپ شده قرار بدید توی یه قسمت دیگه اونها رو بدون زیپ بزارید. ممنون

    • مصطفی آصفی

      سلام به شما. بله حق با شماست. فرآیند دریافت آموزش ها به ویژه وقتی تعداد درس ها زیاد هست باید راحت تر بشه.
      این رو پیش از این هم با تیم توسعه هم‌رویش مطرح کردیم و انشالله در دستور کار قرار می گیره که دست کم فعلا امکان دریافت یکجای بسته برای کسانی که اینترنت خوبی دارن فراهم بشه.

  48. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد.
    استاد من هم با دوستم اقا رضا موافقم.
    راستی برای اینکه فقط محیط کدنویسی تون رنگ بندی شبیه sublime بشه یه خورد با تنظیماتش بازی بازی کنید میتونید درستش کنید و این در حالیه که دورش dark یا light باشه. اصلا خواستید براتون ضبط کنم اون یه تیکه بفرستم.

    • مصطفی آصفی

      سلام به شما. بسیار عالی و ممنون از مشارکتتون.
      در مورد راهنمایی خوبتون هم بله اتفاقا بعد از این که برای آقا رضا هم پاسخ فرستادم یادم اومد که امکان فراخوانی استایل هم در محصولات جت برینز هست.
      اما با توجه به مطلبی که گفتید، پیشنهاد می کنم اگه دوست داشتید این مورد (تنظیم سبک گرافیکی و کدنویسی پایچارم) رو به عنوان یک برگ رایگان در هم رویش منتشر کنید. منم کنار دوستان دیگه به عنوان یک فراگیر اونجا کارتون رو می بینم. شاید این آموزش کوتاه خودش سبب خیر باشه و به این وسیله یک بار مراحل رو طی کنید و بعدها بتونید بسته های بیشتری هم حتی در بخش شاخه ها منتشر کنید. در صورت تمایل برای شروع، بخش تدریس در هم رویش (+) رو ببینید.

  49. رضا (خریدار محصول)

    درود بر شما
    در ابتدا بی نهایت از شما برای تولید آموزش هایی با این کیفیت سپاس گزارم و بدون هیچ اغراقی باید عرض کنم که شاید اولین نباشید اما با این روش تدریس و رعایت استاندارد ها که به شخصه در هیچ سایت آموزشی ندیدم ، قطعا یکی از بهترین ها هستید.

    یک انتقاد کوچک هم داشتم:
    امیدوارم در آموزش های بعدی بک گراند محیط کد نویسیتون تیره باشه البته در دوره ی قبلی اینگونه بود (sublime text)اما در این دوره(وبلاگ حرفه ای) در pycharm بک گراند سفید رو انتخاب کرده بودید که چشم رو زودتر خسته میکرد.

    • مصطفی آصفی

      سلام به شما و ممنون که برای ابراز نظر و لطفتون وقت گذاشتید. امیدوارم که آموزش برای شما مفید باشه.
      اتفاقا چشم خود من هم با پس زمینه سفید اذیت میشه منتها این طور پای چارم رو تنظیم کردم چون به نظر می رسید سبک نمایش تیره پای چارم به خوبی سابلایم نیست و کسی که فیلم رو می بینه ممکنه کمی سردرگم بشه و مسیر کدها رو پیدا نکنه.
      _________
      پی‌نوشت: دوستان دیگه در این صفحه اگر این پیام رو دیدن مشارکت کنن لطفا و نظرشون رو اعلام کنن. این لحظه که این نظر رو می نویسم در حال ضبط درس 21 شبکه اجتماعی با جنگو هستم. اگر ببینم چندین مورد این مشکل رو دارن از این درس به بعد سبک صفحه رو عوض می‌کنم (قبل از نظر فقط لطفا سبک تیره پیش فرض پایچارم رو بررسی کنید).

  50. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد. واقعا خدا قوت انشاالله به خدا من خودم شرمندم که شما رو این طور تحت فشار عصبی از لحاظ وقفه افتادن بسته اموزشی قرار دادم. خسته نباشید. حالا استاد یه چیز بگم برای تقویت روحیه کاری شما ما منتظر این بسته هستیم و وقتی هم که منتشر شد با دقت نگاه مکنیم تمرین میکنیم و تمرین. میگن خستگی یک معلم زمانی از بین میرود که بازخورد مثبت از شاگردانش بگیرد ما هم این بازخورد رو به شما هدیه میکنیم. استاد ببخشید مثل اینکه این تکه کدتون رو سیستم حذف کرده حالا طبق راهنماییتون یه سرچ ریز میکنم 🙂 با اجازه و خدا قوت

    • مصطفی آصفی

      سلام مجدد. ممنون از محبت شما. بله همین که می بینم با آموزش ها کاری انجام میدید. خستگی از تنم بیرون میره.
      جواب قبلی رو ویرایش کردم. حواسم نبود توی تگ نوشتم که حذف کرده بود سیستم.

  51. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید. استاد ببخشید برای بار چندم سوال میکنم این اموزش شبکه های اجتماعی با پایتون کی منتشر میشه؟
    یک سوال دیگه چرا وقتی از markdown برای متون فارسی استفاده میکنیم کل کار رو به هم میریزه، تنظیمات روی متن درست اعمال نمیکنه(منظور نحوه نشان دادن متن مثلا بولد کردن، لینک کردن و…) لطفا یک راهنمایی یا منبعی که از اونجا مطالعه کنیم پیشنهاد کنید. بسیار متشکرم.

    • مصطفی آصفی

      سلام به شما. در مورد markdown در صفحه های حاوی کاراکترهای UTF-8 تگ پایین رو به head تمپلت خودتون اضافه کنید:
      meta charset=”UTF-8″
      در مورد دوره شبکه اجتماعی با عرض پوزش، بسطی که مباحث این دوره مثل jQuery و Ajax و ثبت نام با گوگل و … نیاز داشت باعث شد که زمان بندی تولید پروژه با اونچه پیش بینی کرده بودم متفاوت بشه.
      امکانات خوبی داره این پروژه مثل دنبال کردن افراد، نمایش ایجکسی تصاویر بدون نیاز به لود مجدد صفحه مثل اینستاگرام، بوکمارکلت اشتراک گذاری تصویر مثل Pinterest و دیدن تاریخچه فعالیت کاربران که مستلزم کارهای دیتابیس حافظه‌ای هست. ولی خب برای هر کدوم موضوع بسط زیادی پیدا می کنه که کسانی که آشنا نیستن هم دید کافی بگیرن.
      اگه عمری باشه، امیدوارم که تا پایان سال بتونم این دوره پر و پیمون رو به طرز مناسبی به علاقه مندان هدیه کنم.

  52. امین اجاقی (خریدار محصول)

    درود فراوان بر استاد بزرگ و کگرامی مصطفی آصفی عزیز و دوست داشتنی استاد در اواسط آموزش شما هستم و در لحظه آموزش Template Tag لحظه ی شگفت انگیزی را برای من در آموزشتان فراهم آوردید به طوری که تا آن لحظه از آموزش که همینظور از کمال آموزش َما لذهت می بردم با دیدن این آموزش به وجد وشادی بسیار دست یافته و خدا را شاکر شدم از یافتن شما استاد کامل و نمونه درود خدا بر شما و خانواده مهربان و دوست داشتنی شما که چنین فرزند نمونه برای جامعه خویش هدایت کرده اند دوستار شما آمین

    • مصطفی آصفی

      سلام جناب اجاقی عزیز. شما محبت دارید و بزرگوارید که توان قددرانی دارید. باعث خوشحالیه که آموزش برای شما مفید و شورانگیز بوده.

  53. رضا (خریدار محصول)

    با عرض سلام و خسته نباشید
    من تا الان نزدیک 8 مورد پلی لیست آموزش جنگو از سایت های مختلف و توسط مدرسان متفاوت رو گرفتم و تمرین کردم اما از وقتی که این آموزش رو گرفتم تا الان صد بار گفتم کاش همون اول با این سایت آشنا میشدم و این آموزش رو میگرفتم. بقیه آموزش ها رو من هر کدوم یه نقصی رو پیدا میکردم داخلش. یا توضیح درست نمیدادند یا مطالب کامل نبود.
    اما از این آموزش و آموزش اولی جنگو هیچ ایرادی نمیشه گرفت
    بسیار حرفه ای و کامل و نحوه تدریس استاد که فوق العادست و با این قیمت که گذاشتید در اختیار خلق الله! با سی سال سن اولین باره که چنین پک کامل و خوش قیمتی رو دیدم یه جا!
    واقعا خسته نباشید میگم بهتون استاد گرانقدر و امیدوارم همین فرمون پیش برید و موفق و موید باشید و ما رو هم با دوره های دیگه از دانشتون بهره مند کنید.

  54. incode.ir

    سلام امیدوارم توی دوره بعدی که شبکه اجتماعی هست مباحث جامع تری گفته بشه
    و خیلی از چیز هایی که توی این 3 دوره جنگو نگفتید توی این دوره گفته بشه
    ابزار های زیادی رو میشه به پنل ادمین جنگو اضافه کرد امیدوارم توی این دوره گفته بشه
    تشکر

    • مصطفی آصفی

      سلام و ممنون از پیشنهاد شما.
      برای داشتن یک پنل مدیریت غنی تر می‌تونید از Django CMS استفاده کنید. مقاله Django CMS چیست (+) رو می‌تونید برای شروع مطالعه کنید.
      طبیعتا جنگو با داشتن سابقه طولانی موارد زیادی برای گفتن داره. امیدوارم در آینده فرصتی باشه که یا در دل آموزش‌های پروژه‌ای یا به صورت مستقل به بحث پنل هم بپردازیم.

  55. امین اجاقی (خریدار محصول)

    با درود فراوان خدمت استاد بزرگم مصطفی آصفی عزیز و دوست داشتنی بسیار خوشحالم استاد از آشنایی با سایت شما و بخصوص شخصیت زیبای خود شما که اینگونه دنیا را با محبت طی می کنید و دانش را به این صورت در دنیای خدا در اختیار برادران و خواهرانتان قرار می دهید با تشکر از پاسخ گویی های ارزشمند شما در آن مورد فایل های css کاملا اندیشه ام روشن و آگاه شد. اکنون منتظر آموزش های نیکوی دیگرتان می باشد مخصوصا آن آموزش که در مورد آن قبل تر سخن گفتید که ساخت یک فروشگاه آنلاین بود زیرا کل پروژه ها تا کنون و آن پروژه ی ساخت شبکه اجتماعی که گفتید در کنار هم ما را یک برنامه نویس تحت وب به صورت حرفه ای می سازد و در این امر کامل می شویم و آماده کار برای مشتریان گرامی که همانا خواهران برادران دیگرمان می باشند می شویم و در ادامه مسیر نیز پروژه های دیگری که َشما برای افزایش دانش فراهم می آورید ما را کامل تر می سازد و دوستی ما تا ابد ادامه خواهد داشت از خدا برایتان آرزوی بهترین مسیر های رویاء در محبت را دارم و دوستار شما می باشم با تشکر .

    • مصطفی آصفی

      سلام جناب اجاقی عزیز. بسیار از محبت شما ممنونم و آرزوی موفقیت براتون دارم. خوشحالم که جدا از محتوای تخصصی، ‌با حال و هوای آموزش هم ارتباط حسی برقرار کردید. این سبب میشه که یادگیری مفاهیم علمی شیرین تر و عمیق تر بشه.
      امیدوارم عمری باشه موارد بعدی رو هم بتونم با کیفیت مناسب منتشر کنم.

  56. ابوالفضل حسن زاده (خریدار محصول)

    سلام این کامنت برای جلب اعتماد شما کاربر عزیز که تازه بانام هم رویش آشنا شده اید هستش.
    دوست عزیزم هم رویش از نظر کیفیت آموزش با بقیه اموزش های موجود قابل قیاس نیست این رو از من بپرسید چون من ادم بسیار حساس در خرج کردن پول برای این طور موارد هستم.
    خب شاید با خودت بگی هیچ ماست فروشی نمیگه ماست من ترشه.
    نه عزیزمن من هم مثل شما یک هنرجو ۲۰ ساله عاشق برنامه نویسی هستم. خلاصه این اموزش ها از کیفیت بسیار بالایی برخوردار هستن اصلا شک به دلتون راه ندید.

    • مصطفی آصفی

      سلام آقای حسن زاده عزیز. شما محبت دارید. باعث خوشحالیه که محیط آموزش‌ها این چنین مفید بوده.
      انشالله که در به‌کارگیری آموزه ‌هاتون موفق باشید

  57. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی ستون یادگیری برنامه نویسی تحت وب با پایتون برای من
    با تشکر از پاسخ گویی شما در هر زمینه ی آموزشی و پیگیری مسیر آموزشتان استاد در مورد مطلبی که از شما سوال کردم در مورد بوت استرپ منظور بنده این بود که برای کار با بوت استرپ بود که بنده گفتم و منظورم از یک فایل base.html فایلی مانند آن فایل در پروزه که در صفحات چیزی ظاهر کند نبود بلکه فقط مطالب تنظیمات زیباسازی را داشته باشد و با ارث بری در صفحات قابل استفاده باشد تا در هر صفحه آن مطالب تکرار نشود البته این سوال من می باشد که آیا امکان پذیر است یا خیر یا اینکه برای کار با بوت استرپ نیز فایل های css را باید به کار ببریم؟

    • مصطفی آصفی

      سلام مجدد. متوجه منظورتون شدم. در عمل شما یک فایل index.html یا base.html می تونید داشته باشید که فایل های css رو در اون یک بار آدرس دهی کنید. بعد تمام صفحه ها این فایل رو extend کنن که دیگه نیازی به فراخوانی مجدد css در اون ها نباشه.
      در مورد بخش دوم سوالتون هم باید بگم که بوت استرپ اصولا خودش یک مجموعه ای از css و جاوااسکریپت های آماده هست که وقتی به پروژه شما اضافه میشه انگار یک تعدادی از این ها رو شما به پروژه خودتون اضافه کردید.

      پی‌نوشت: همین روزا در حال ضبط یک آموزش ساخت شبکه اجتماعی شبیه pinterest و اینستاگرام با جنگو هستم که با توجه به سوال شما حتما سعی می کنم در اون مورد بیشتر تعامل با فرانت اند رو مطرح کنم. امیدوارم دی ماه کامل و منتشر بشه.

  58. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی مصطفی آصفی عزیز با تشکر از پاسخ کاملتون بله استاد بنده نیز در پروژه قبلی آموزش جنگو زمانی که بوت استرپ را آموزش دادید ایده ای مبنی بر این به اندیشه ام رسید که در این دوره در آموزش دیدم که بعنوان فایل های css شناخته می شود یعنی می توان با بوت استرپ صفحه ای مانند base.html ساخت که صفحات دیگر از آن ارث بری کنند و تمام زیباسازی ها درون آن صفحه باشد که و در صفحات پروژه استفاده شود یعنی تمام موارد مورد نیاز یک پروژه برای زیباسازی و تنظیمات صفحات بعنوان یک فایل base.html باشد و در صفحات بوسیله ارث بری استفاده شود .

    • مصطفی آصفی

      سلام مجدد. سلامت باشید. ببینید زیباسازی های پروژه رو معمولا نه در یک فایل base.html بلکه در فایل های css قرار می دن و بعد در فایل های html میشه کلاس ها و عناصر موجود در اون فایل ها رو فراخوانی کرد. توصیه می کنم حتما یک آموزش مقدماتی html و css و بعد از اون یک آموزش بوت استرپ جستجو و همگام با این آموزش جنگو ببینید تا دید دقیق تری پیدا کنید. احساس می کنم این طور با تبادل نظر ممکنه به بیراهه برید.

  59. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد.
    استاد یه جا لازم هستش که یه لینک دانلود فایل قرار بدیم. من خیلی سرچ کردم ولی به جایی نرسید. اگه بشه یه توضیح کوچیک بدید یا فرایند کار رو توضیح بدید. ممنون. ببخشید ما زیاد سوال می پرسیم یا علی.:)

    • مصطفی آصفی

      سلام به شما. شاید خوب متوجه منظور شما نشده باشم. اگر فقط لینک دانلود هست که در html تگش رو می نویسید. منظورتون این هست که فایلی تو خود سرور جنگو ذخیره بشه بعد جایی صدا زده بشه؟
      در این صورت اون فایل باید بخشی از یک مدل باشه و می تونید در مدلتون یک فیلد از نوع FileField قرار بدین. این آموزش FileField (+) رو ببینید. در این صورت هر جا نمونه ای از اون مدل ساخته یا فراخوانی بشه این ویژگی فایل رو داره که میشه ازش صدا کرد.
      داخل آموزش بالا به محل ذخیره سازی فایل دقت کنید.

  60. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی مصطفی آصفی عزیز استاد در مسیر آموزش هستم و با سوال دیگری روبرو شدم که اکنون برایتان می گویم سوال درباره ی فایل css می باشد زیرا در آموزش شما درباره کد نویسی فایل css توضیحی ندادید ولی فایل را در پوشه قرار داده اید آیا فایل css فایلی آماده است و ساختار یکسانی دارد یا ما باید خودمان برای صفحه های اختصاصی خویش تنظیمات شخصی خودمان را کد نویسی کنیم ؟ با تشکر از مهر و محبت شما استاد گرامی و بسیار شاد گشتم از اینکه روحیه ی زندگی شما در رؤیا روحیه ی همکاری در محبت می باشد.

    • مصطفی آصفی

      سلام به شما. ببینید یک وب سایت از دو بخش تشکیل شده:
      1- ظاهر وبسایت یا Fron-end با ترکیب زبان های HTML و CSS و JavaScript
      2- قلب منطقی سایت که با زبان های گوناگونی ممکنه نوشته بشه و شما در این دوره دارید یاد می گیرید که با زبان پایتون بنویسید.
      و یک فریمورک مثل جنگو اجازه میده که شما این دو بخش رو در قالب یک پروژه مدیریت کنید و حتی در پروژه های بزرگ تر هر کس روی بخشی از پروژه که به صورت آنلاین در گیت هاب مثلا قرار گرفته کار کنه. مثلا متخصص دیتابیس فقط روی مدل ها کار کنه و متخصص طراحی فرانت اند فقط روی فایل های html و چون این ها تفکیک شدن از هم این دو به کار هم تا حد زیادی کار ندارن و کار تیمی قابل تقسیمه.

      بیاییم سراغ فرانت اند: فایل های HTML که در آموزش مقدماتی جنگو (+) باهاشون آشنا شدیم ساختار صفحه رو می چینن و فایل های CSS زیباسازی این ساختار رو به عهده دارن. این که چه رنگی چه حاشبه هایی چه فونتی و … استفاده بشه. جاوااسکریپت هم که زبان برنامه نویسی هست برای مواردی که شما نیاز دارید همون جا تو فرانت اند و سمت کاربر هم گاهی منطقی رخ بده. مثلا کابر روی یک دکمه HTML زد بعد محو بشه دکمه یا فلان درخواست رو ارسال کنه به سرور (بک اند)

      بنابراین فایل های CSS در هر پروژه متفاوت هستند و معمولا پروژه ها از جایی به بعد یک یا چند نفر فرانت اند کار دارن که این ها مسئول فقط ظاهر سایت هستند. در پروژه های کوچک وقتی شما کل پروژه رو خودتون می زنید به ناچار باید HTML و CSS و JavaScript هم خودتون بنویسید یا مثل کاری که من کردم از نمونه های آماده استفاده کنید.

      هدف در آموزش جنگو معمولا بک اند هست پس بخش های فرانت اند رو من به صورت آماده در پروژه استفاده می کنم. شما حتما در کنار این آموزش فیلم هایی در رابطه با سه زبان فرانت اند ببینید تا اون ها براتون آشنا بشن.

  61. ابوالفضل حسن زاده (خریدار محصول)

    سلام مجدد.
    ولی استاد فکر میکنم که متوجه شدم. بسیار ممنون.

  62. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد.
    راستش کدتون مشخص نبود. منظور شما به این صورت هستش: path(‘/’, PostDetailView.as_view())

    • مصطفی آصفی

      سلام به شما. بله من متوجه نبودم تگ ها رو سیستم حذف کرده بود. به صورت عکس براتون جایگزین و پاسخ پایین رو به روز کردم.

  63. ابوالفضل حسن زاده (خریدار محصول)

    سلام و عرض ادب به شما دوست عزیزم امین اجاقی.
    خواهش میکنم انجام وظیفه بود.

  64. امین اجاقی (خریدار محصول)

    سلام بر تو برادر عزیز و دوست داشتنی Abolfazl Hassanzade بسیار خشنود شدم از پاسخ بسیار کاربردی و همکاری صمیمانه شما دوست و برادر عزیز خدای متعال برکت فراوان به شما و خانواده عزیز و مهربانتان ارزانی دارد مسئله مورد سوال بنده با پاسخ شما حل گشت با تشکر.

  65. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد ما چطور میتونیم صفحه ۴۰۴ شخصی خودمون رو داشته باشیم. یعنی تمپلت ما به نوعی override به شه. و الان من یک url الکی میدم به من خطای ۴۰۴ میده ولی میگه از طرف یه ویو خاصی پرتاب شده.
    Raised_by: blog.views.pro_detail
    هرچی هم سرچ کردم تو مستندات گشتم دلیلش رو نفهمیدم. لطفا یه راهنمایی کنید ممنون.

  66. Abolfazl Hassanzade (خریدار محصول)

    سلام اقای امین اقاجی.
    حالا من کاره ای نیستم ولی خب خوبه که دانسته هامون رو باهم به اشتراک بزاریم.
    من فکر میکنم شما اون لحظه ساختن پست وضعیت منتشر شده قرار ندادید چون شما اگر طبق اموزش های استاد پیش برید دیفالت وضعیت draft هستش چون اون منیجر فقط پست های منتشر شده رو بیرون میکشه حالا شاید مشکل از جای دیگه ای باشه.

    • مصطفی آصفی

      سلام به شما آقای حسن زاده گرامی. بسیار ممنون که در راهنمایی دوستمون مشارکت کردید.

  67. امین اجاقی (خریدار محصول)

    سلام استاد من در مسیر آموزش هستم به بخش Manager اختصاصی رسیدم که در فایل models.py کلاسی برای آن می نویسیم من کل مسیر را با شما طی می کنم ولی زمانی که در شل پایتون با دستور (Post.published.filter(title__startswith=’how درخواست کوئری ست می کنم به این صورت خالی است دلیل چیست ؟

    • مصطفی آصفی

      سلام به شما. چند روزی بنده درگیر بودم. خوشحالم که روحیه همکاری دراینجا ایجاد شده و آقای حسن زاده مشکلتون رو حل کردن. همین طور سپاس که نتیجه رو با گرمی به ایشون اعلام کردید.

  68. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد من میخوام متن ایمیلی که ارسال میکنم فارسی باشه خب حالا این کار کردم ولی تو shell محیط برنامه نویسی اینجوری چاپ میکنه. مثلا به جا سلام چاپ میکنه م ا ل س. حالا این نوع رفتار در حالت واقعی اصلاح میشه به خودیه خود یا خیر باید تنظیمات خاصی رو انجام بدیم. در ضمن استاد لطفا یک اموزش regex هم قرار بدید. ممنون از شما و تیم هم رویش.

    • مصطفی آصفی

      سلام به شما. بله این در پای چارم راه داره و در حالت انتشار هم معمولا این حالت رفع میشه. در مورد regex هم پایین خدمتتون گفتم. حتما انشالله به زودی.

  69. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد من امروز به یک مشکل اساسی بر خوردم.
    در جنگو نمیشه مقادیر اسلاگ فارسی باشه تا زمانی که شما allow… رو در فیلد اسلاگ true نکنید بعدش هم در urls.py برای url فارسی نمیشه از path استفاده کرد باید از re_path استفاده کنیم اونم با یک regex خاص. حالا من regex بلد نیستم. میخواستم بدونم شما راهی ندارید که با استفاده از path بتونیم اسلاگ های فارسی درست کنیم. اگر هم که راهی نیست یک اموزش مثل اموزش گیت ورود سریع، یک ورود سریعی هم به regex بزنیم چون من گیت رو با توضیحات شما خیلی خوب متوجه شدم. با سپاس و تشکر.

    • مصطفی آصفی

      سلام به شما. برای استفاده از کاراکترهای UTF در Slug اولا دقت کنید که داخل مدلتون به صورت زیر امکانش رو فعال کنید:
      slug = models.SlugField(max_length=100, allow_unicode=True)
      بعد هم در هنگام استفاده از path به جای slug از str استفاده کنید.

      نمونه کد در این لینک (+) رو ببینید.

      پی نوشت : در مورد regex هم حتما انشالله. یک دوره در حال برنامه ریزی دارم که در اون یک جایی حتما به این بحث می پردازم.

  70. امیررضا (خریدار محصول)

    با سلام و احترام
    استاد جلسه 27 کارهایی که شما انجام دادید عینا انجام دادم اما در مرحله migrate کردن دیتابیس متاسفانه خطای زیر را دریافت کردم، در ضمن کتابخانه psycopg2-binary را نیز نصب کرده ام:

    django.db.utils.Operational Error: could not connect to server : no such file or directory

    با تشکر از تدریس خوبتون و قیمت مناسب پک های آموزشی شما.

    • مصطفی آصفی

      سلام به شما. اگر مطمئن هستید که مراحل رو به درستی همراه با بنده طی کردید و دبتابیس رو هم ایجاد کردید، در این صورت احتمالا به این دلیله که PostgreSQL در حال اجرا نیست. کد پایین رو در ترمینال اجرا کنید
      sudo service postgresql start
      اگر با این حل نشد ممکنه از تنظیمات پوستگرس در داخل settings سراسری پروژه باشه:
      نام کاربری و گذرواژه رو بررسی کنید که هم خوان باشه. پورت هم 8000 نباشه. ‘PORT’: ‘5432’

  71. mjavad.sabrjoo (خریدار محصول)

    سلام و خسته نباشید
    قبل از خرید دیدم که ظاهرا دوره سر فصل های خوب و کاملی رو پوشش می داد و فکر می کردم مثل دوره های قبل شما عالیه.
    اما متاسفانه بعد از گذشت چند قسمت تنها شاهد توضیحات روی کدهای کپی پیست شده بودم
    توضیحاتی که اصلا کافی نبود. برای اولین بار از خریدم از سایت شما بشدت ناراضی هستم.

    • مصطفی آصفی

      سلام و سپاس که برای اظهار نظرتون وقت گذاشتید.
      قبل از مطالعه توضیحات پایین توصیه می‌کنم تا پایان آموزش رو کامل ببینید بعد قضاوت کنید. چند درس اول که شما گفتید دیدید (تا درس هشتم) کمی توضیحات به ناچار زیاده چون داریم زیرساخت رو آماده می کنیم. از اونجا به بعد کم کم نکته‌های جدید و شیرین در هر درس داریم.

      و اما در مورد ایراداتی که مطرح کردید:

      1- استفاده از کدهای آماده به دلیل حجم بالای کدهای پروژه هست که اگر قرار بود کلمه به کلمه من تایپ کنم آموزش بسیار زمان بر می شد. پس فیلم رو نگه می داشتم، یک خط یا چند خط کد رو یکجا به پروژه اضافه می کردم و بعد توضیحشون می دادم.

      2- شما باید هر آموزش رو با اهداف اون آموزش مقایسه کنید. در اون آموزش جنگوی مقدماتی (+) ما هدفمون مخاطبی بود که حتی یک خط کد آماده نگرانش می کرد. یک فراگیر مبتدی. هدفمون یک ورود به دنیای برنامه نویسی وب بود. هر مفهوم رو با اسلاید مرور می کردیم تا جا بیفته. اما اینجا در این آموزش فرض می کنیم فراگیر با جنگو و وب آشنا شده به دنبال یادگیری امکانات کاربردی جدید هست. برای برنامه نویس شدن این روش خوبه. یعنی برای مثال من می گم که اپ taggit چی هست و چطور به جنگو اضافه میشه. یه نمونه هم نشون میدم. بعد شما به اقتضای ایده و پروژه ای که دارید برید و خودتون امکانات بیشتر رو کشف کنید.

      3- در رابطه با سرفصل ها هم که فرمودید، یعنی موردی بود که در سرفصل ها نوشتم و پوشش ندادم؟ اگر موردی بوده حتما بفرمایید.

      4- در مورد کافی نبودن توضیحات، بله هر کدوم از مباحث گفته شده قطعا کلی ریزه کاری دارن که در پروژه‌های مختلف هم متفاوته. اما دقت کنید که این یک آموزش پروژه محوره! یعنی آشنایی با ابزارها به اقتضای یک پروژه. برای مثال شما اینجا با بحث مهاجرت پایگاه داده به پوستگرس در جنگو آشنا می شید. اما در مورد خود PostgreSQL میشه ساعت ها صحبت کرد. هدف این آموزش، وارد کردن شما به موضوع هست. این که چطور کار رو در جنگو انجام بدین. بدیهیه که کشف جزئیات بیشتر به اقتضای پروژه های جدید به عهده خود شماست.

      پی‌نوشت: با همه توضیحاتی که عرض کردم، اگر همچنان تصور می کنید که این آموزش رضایت شما رو جلب نکرده، به اینفوی هم رویش یک ایمیل بفرستید و درخواست استرداد وجه کنید تا وجه پرداختی شما رو برگردونن.

  72. Abolfazl Hassanzade (خریدار محصول)

    سوالات پنجمین دوره مسابقات کد کاپ (پایتون / جنگو ):
    سوالات = {
    “پایتون-ام تایی ها”: “۵۰”،
    “پایتون-فاکتوریسم”: “۷۰”،
    “پایتون-قانون شکن”: “۱۰۰”،
    “جنگو-جیتسی”: “۱۲۰”،
    “جنگو-بورس و کرونا”: “۱۵۰”،
    “جنگو-دوبستان”: “۱۹۰”
    }
    خب دیکشنری سوالات که در بالا مشاهده میکنید کلید ها اسم و مقادیر امتیازات سوالات هستن. بعد از مسابقه این سوالات در سایت کورا قرار میگیرد. موفق و پیروز باشید.

    • مصطفی آصفی

      سلام به شما. دست شما درد نکنه آقای حسن زاده. خیلی خوبه که روحیه همکاری و اشتراک گذاری دارید. امیدوارم که دوستان استفاده کنن.

  73. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    من امروز تو مسابقه کد کاپ شرکت کردم.
    استاد سوالات جنگو خیلی سخت بود. باگ های پروژه مشکلات پروژه به صورتی بود که من اصلا نشنیده بودم. به همین خاطر گفتم که نکات موجود در سوالات رو تدریس کنید. من اسم سوالات رو دارم اگر خواستید براتون به یک طریقی بفرستم. یا نه اصلا اسماشون رو کامنت میکنم. با اجازه استاد‌.

  74. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد.
    دست شما درد نکنه. بسیار متشکرم.

  75. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد.
    —————–
    استاد یک سوال فنی میشه از یک کلاس دو تا کلید خارجی بزنیم به دو جدول مجزای دیگه که اونها به صورت پیش فرض نان هستن هر نوع نمونه ای که از روش ساخته شد اون کلید خارجی با اون پر بشه. مثلا کلاس کامنت دو تا کلید خارجی میخوره به دو تا جدول دیگه. کلاس کامنت رو برای دو منظور استفاده کنیم. نمیدونم متوجه شدید یا نه، انشاالله که متوجه شید.

    • مصطفی آصفی

      سلام به شما. راستش مثالتون رو متوجه نشدم ولی به طور کلی برای زدن دو کلید خارجی از یک جدول خوبه از related_names استفاده کنید:

      inventor = models.ForeignKey(Users, null=True, related_name=’inventor’)
      assignee = models.ForeignKey(Users, null=True, related_name=’assignee’)

      در مثال بالا در جدول فهرست اختراع ها، یک فیلد مخترع (inventor) داریم که وصل هست به جدول کاربران (Users) و یک فیلد وکیل که این هم وصل هست به جدول کاربران. حالا در جدول کاربران شما اگر بخواهید فهرست اختراع‌هایی که اون کاربر داشته رو بیرون بکشید با منیجر Users.objects.inventor میشه. در مورد اون اختراع‌هایی که یک کاربر نقش وکیل رو داشته هم با دستور Users..objects.assignee میشه.

  76. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد.
    استاد یک نظر و ایده. استاد شما اگه مطالبی که در سوالات جنگو کورا کالج وجود دارد رو تدریس کنید کمک خیلی بزرگی در پیشرفته ما در این زمینه کردید. استاد سوالات خیلی سخت هستش اصلا تا قبل از اینکه شما سوال رو بخونید از روی تعداد حلش این رو میشه متوجه شد. امیدوارم این پیشنهاد ایده خوبی به شما بده. ممنون از شما استاد بزرگوار.

    • مصطفی آصفی

      سلام به شما. روی این موضوع حتما فکر می کنم ولی با توجه به این که هنوز در موضوعات کلان (مباحث کلان جنگو) هنوز به جای خوبی نرسیدیم اجازه بدین اول دوره های شبکه اجتماعی و اگر خدا بخواد بحث فروشگاه رو به جایی برسونیم بعد بریم روی جزئیات در هر بخش.

  77. Abolfazl Hassan Zade (خریدار محصول)

    • مصطفی آصفی

      سلام به شما. ببینید سوال کلی پرسیدن شما رو تنبل می کنه. لطفا تلاش خودتون رو بکنید و به صورت موردی اگر ایرادی داشتید مطرح کنید.

  78. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد. استاد لطفا یک توضیح درباره ی تابع کپی در این سوال به ما میدید.

  79. incodeir

    سلام وقت بخیر
    شما توی این دوره پکیج taggit رو آموزش دادید
    ولی نگفتید چطوری توی پنل ادمین وقتی داریم تگ ها رو وارد میکنیم یعنی تگ هایی که از قبل ثبت شده رو برامون به صورت لیست نمایش بده
    مثل این پکیج
    https://github.com/chhantyal/taggit-selectize
    حداقل یه مبحثی رو میگید کامل باشه
    امکانش هست این مبحث رو هم آموزش متنی یا ویدویی بدید
    با تشکر

    • مصطفی آصفی

      سلام به شما. ممنون از پیشنهاد خوبتون. انشالله در آموزش های بعدی به اقتضای موقعیت امکانات تکمیلی در این مورد رو عرض می کنم.

  80. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد یه سری نکته درابطه با قسمت درباره ما در سایت ها میگید.
    مثلا چی بنویسیم، چه جوری بنویسیم، از کجاها بگیم و ….. خلاصه از تجربه های خود ما رو بی نصیب نکنید. با تشکر.

    • مصطفی آصفی

      سلام به شما. اگر در مورد وبسایت شخصی مورد نظرتون هست. در وهله اول شفاف باشید. هر چه هستید رو بنویسید و توانایی ها رو دقیق فهرست کنید. از روحیه کار حرفه ای خودتون هم بگید. مخاطب رو دو دسته تصور کنید:‌1- کارفرمای ناآگاه به وب 2-همکاران آگاه به وب
      طوری بنویسید که هر دو دسته بتونن شما رو به خوبی بشناسن.
      مثلا: ابوالفضل حسن زاده هستم؛ طراح وب به زبان پایتون و فریمورک جنگو. کار تیمی رو خیلی دوست دارم و از اجرای ایده های تازه در توسعه وبسایت ها استقبال می کنم.
      هدفم از توسعه وبسایت با جنگو استفاده از الگوریتم های یادگیری ماشین و داده کاوی پایتون در قلب سرور و وبسایت هاست. و …

  81. Abolfazl Hassanzade (خریدار محصول)

    البته بعد از اعمال فیلتر کلا 14 سوال شما نشان میدهد.

    • مصطفی آصفی

      سلام به شما. باعث خوشحالیه که نگاه هم رویشی دارین. امیدوارم دوستان استفاده کنن. و حتی مدت‌ها بعد که سر بزنن این خودش انتقال تجربه بسیار خوبیه

      پی‌نوشت‌: وبسایتتون رو هم مجدد دیدم بسیار تغییر خوبی کرده بود. تصویر خودتون سایت رو چشم گیر کرده بود. آفرین

  82. Abolfazl Hassanzade (خریدار محصول)

    ببخشید دقیقا این جا 🙂

  83. Abolfazl Hassanzade (خریدار محصول)

    سلام به همه هنرجویان هم رویش و استاد آصفی.
    این جا شما میتونید تا 7 آذر درباره جنگو تمرین کنید.
    کلا 14 سوال داره.
    موفق باشید.

  84. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد ۷ آذر کورا کالج مسابقه گذاشته درابطه با جنگو.
    میشه توضیح بدید که رو کدوم بخش جنگو بیشتر کار کنیم و چه جور سوالاتی در مورد حوزه فرم ورک میاد با تشکر.

    • مصطفی آصفی

      در این مورد بنده تجربه ای ندارم. اما خیلی خوبه اگه تحقیق کردید اونچه متوجه شدید رو اینجا مجدد بگذارید که نفرات بعد از شما استفاده کنن.

  85. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد. یک سوال فنی برای ما که حدود دو سال هست با جنگو اشنا شدیم و داریم یکسره تمرین میکنیم، تو یه فرم استخدام حقوق مورد انتظار رو چقدر وارد کنیم خوبه که هم تراز توقع طرف مقابل باشه. چون اگه بالا پایین بگیم یه سری اتفاقات خاص میفته که شما خودتون بهتر میدونید. حالا یه راهنمایی به ما بکنید ممنون میشیم یا حق.

    • مصطفی آصفی

      سلام به شما. ببینید در مورد حقوق اگه سابقه کار ندارید زیاد سخت نگیرید. اگر مجموعه مجموعه خوبیه و کارای جدی دارن و جای پیشرفت داره به جای بحث مالی بیشتر روی تعامل خوب کار کنید. کارتون دقیقا چی هست؟ این رو براتون مشخص کنن و بعد با خودتون بسنجید نسبت به کاری که می کنید چه جنبه هایی از شرکت شما رو به لحاظ فنی و حرفه ای پیشرفت میده.
      اگر هم مجموعه کوچیکی هست و شما هم قرار استخدامی کار کنید همون طبق پایه کارگری قانون کار بگید باهاتون شروع کنن. البته اگه سابقه کار شرکتی ندارید تا به حال. با این شروع کنید بعد کم کم می تونید بهتر کنید. البته برای تهران و شهرستان های بزرگ که مخارج بالا هست اگه مجبور به رفت و آمد هستید کمی بیشتر مطالبه کنید. پایه حقوق قانون کار امسال و در گوگل جستجو کنید.
      مهم تر از همه اگه شرکت براتون بیمه رد کنه بسیار عالیه. سابقه کار دارای بیمه موضوع بسیار جذابیه که در آغاز راه میشه یک بخشی از دستمزد رو فدا کرد.
      آخرین نکته هم این که قرارداد رو برای شروع کار حداکثر سه ماهه ببندید.

  86. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد این اموزش هم تمام شد ما تا اموزش بعدی و یادگیریه مفاهیم جدید این هارو تمرین میکنیم.
    بسیار ممنون از شما و سایت هم رویش.
    استاد لطفا در اموزش های بعدی جنگو از روش class_based نویسی در ویو بیشتر استفاده کنید.مثلا من خودم در حین تمرین از مستندات و یه سری سایت های دیگه تونستم از DetailView برای نمایش اطلاعات یک پست استفاده کنم ولی نتونستم برای handle کردن فرم استفاده کنم یعنی منطق رو متوجه نشدم. اگر این جور موارد رو نیز به ما بیاموزید خیلی عالی میشه چون کلاس بیس نویسی اصلا کداش هم تمیز تر هم به قول شما رویه اصولی تره با تشکر. 🙂

    • مصطفی آصفی

      سلام به شما. آفرین به شما. همین که حرفه ای در حال جستجو هستید بسیار خوشحالم. بحث Class-based View بحث بسیار مهمیه. انشالله یک دور که پروژه ها رو بتونیم به جایی برسونیم که انواع سایت ها رو فراگیرها تجربه کنن. انشالله مباحث حرفه ای تر رو عمری باشه پیگری می کنم.

  87. رضا

    قسمت دسته بندی و زیر دسته بندی رو اصلا نگفتید

    • مصطفی آصفی

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

      و اما از نگاه تدریس؛ دقت کنید که جنگو دنیای وسیعی داره و ما در هر آموزش پروژه محور بخشی از امکانات رو هدف می گیریم که فراگیر آشنا بشه.
      در آموزش مقدماتی جنگو (+) ما در واقع دسته و زیردسته (Topic – Entity) رو صحبت کردیم. حتی این که افراد دیگه بتونن بیان و عضو نویسنده سایت بشن. شما با توجه به نحوه پیاده سازی سیستم هشتگ که در این آموزش گفته شده و اون بحث تاپیک در اون آموزش می تونید دسته و زیر دسته اضافه کنید.

      من سعی می کنم هر آموزش پروژه محور به بهانه موضوع خودش تعدادی از امکانات جنگو رو به دانسته کاربر اضافه کنه. مثلا در این آموزش بحث انتشار آنلاین، بحث ارسال آنلاین ایمیل، بحث پایگاه داده پوستگرس و … رو داشتیم. طبیعتاً خلاق بودن در کار با مدل ها (مثل ایجاد یک مدل برای دسته بندی و اتصال اون به مطالب) و حتی تغییر ساختار برنامه و پیاده سازی فکرهاتون با شماست.

  88. مهدی

    سلام آقای آصفی

    قبلاً گفته بودید یه سایت فروشگاهی مثل دیجی کالا
    با پایتون میسازید
    انشاالله کی این آموزش در سایتتون قرار میگیره

    • مصطفی آصفی

      سلام به شما. همون طور که پایین تر هم خدمت دوستانتون گفتم به جای تعریف یک پروژه طولانی در قالب چند پروژه رفته رفته مفاهیم رو کامل می کنیم. مثلا در این آموزش ارسال ایمیل و ارسال به هاست ایرانی و پایگاه داده PostgreSQL گفته شده. یک آموزش هم این روزها در دست تکمیل هست که یک سایت شبکه اجتماعی شبیه اینتساگرام با جنگو می سازیم و مفاهیم تازه ای رو یاد می گیریم (انشالله آبان ماه منتشر میشه) و بعدانشالله یک پروزه فروشگاهی.

      پی‌نوشت: متوجه هستم که شما و دوستان عجله دارید برای شبیه سازی وبسایت فروشگاهی اما بنده تلاشم این هست که یک مسیر استاندارد و شناخت گام به گام و عمیق و در همین حال، شیرین رو برای شما و دوستان نسل بعدی به جا بگذاریم.

  89. elahe

    سلام و خسته نباشید اقای آصفی امیدوارم حالتون خوب باشه و پر انرژی باشید اول بگم اموزشاتون عالیه همچنین کل اموزشای همرویش خیلی خوب عالی ثب شدن
    ببخشید یه سوالی دارم من تقریبا اموزشو تموم کردم و خیلی خوب همه مفاهیم رو متوجه شدم و یه وبلاگ ساختم و اپکانات دیگه ای هم بهش اضاف کردم فقط یه مشکلی هست که تو اون قسمت نصب و راه اندازی پوسگراسکیوال گیر کردم یخورده چون ویندوزم 7 هستش و وقتی پوسگراسکیوال رو نصب کردم با اینکه اون چیزی که گفتید از سی پلتس پلاس رو اگه ندارید خودش نصب میکنه رو نداشتم به نصب ادامه داد پوسگراسگیوال و بعد نصب هم مشکلی نداشت رفتم داخل path هم اضافش کردم ولی متاسفانه کقتی تو cmd میزنم psql شناسایی نمیکنه و میگه این دستور نه داخلیه نه خارجی اگه میشه کمک کنید جون نمیدونم مشکلش چیه ولی یه فرض دارم که یعنیدممکنه چون لپتاپ دوتا یوزر داره مشکل داشته باشه؟اگه کمک کنید خیلی مپنون میشم.

    • مصطفی آصفی

      سلام و ممنون از آرزوی خوب شما و همچنین.
      در مورد خطای psql not recognized علت همون نیاز به افزودن psql به Environment Variables هست. دقت کنید که مسیر فایل اجرایی رو به طور کامل و دقیق باید به متغیر Path در بخش System variables اضافه کنید. معمولا یک مسیری شبیه زیر هست:
      C:\Program Files\PostgreSQL\11\bin\
      شماره 11 ممکنه متفاوت باشه با نسخه های متفاوت.

      ضمنا دقت کنید که بین آخرین نشانی و نشانی اجرایی psql در فهرست path نباید فاصله گذاشته باشید. دقیقا ; به آدرس قبلی بچسبه و بعد هم آدرس اجرایی psql
      و باز ضمنا هر دو مسیر lib و bin رو هم به مسیر اضافه کنید:
      C:\Program Files\PostgreSQL\11\bin;C:\Program Files\PostgreSQL\11\lib

  90. محمد متین محمدی

    استاد واقعا درجه یکه آموزش هاتون عالیه کسانی که شک دارند تهیه کنن که اصلا و ابدا صرر نمیکنید…

    خیلی خوشحالم که با هم رویش آشنا شدم
    خدا اجرتون بده 🙏🙏🌹🌹

    • مصطفی آصفی

      سلام و ممنون از محبت شما. خدا رو شکر اگه این آموزش انگیزه بخش و مثمرثمر بوده باشه. انشالله که موفق باشید.

  91. Asghar

    آقای آصفی سلام خسته نباشید خیلی خوب بود واقعا اندروید رو با شما شروع کردم(کاتلین) واقعا عالی بود تا الان که پایتون و جنگو استاد میگم الان وبلاگو ساختم و مثل آموزش آپلودش کردم و خودم یه بخش هایی رو هم بهش اضاف کردم ولی خواستم نظرتون رو بابت چندتا چیز بپرسم که راهنماییم کنید در ادامه چیکار کنم استاد خواستم بدونم این که یه اپ جدید بسازیم و داخل فایل views اپ جدید از فایل models یه اپ دیگه کلاس هایی رو اینپورت کنم استاتدارده این کار؟!
    و اینکه میدونم تقاضای زیادیه ولی فقط اگه سراغ داشتید آموزش یا مقاله ای واسه ساختن محاسبه گر بازدید با جنگو که امار بازدیدو حساب کنه هم معرفی کنید یا حتی خودتون بسازید اموزشو فک کنم با استقبال خوبی مواجه بشه.
    کلا هروقت سردرگمی دارید به همرویش سر بزنید و خیالتون از لحاظ کیفیت آموزش راحت باشه آموزش های این سایت هیچجا پیدا نمیشه👌

    • مصطفی آصفی

      سلام و ممنون از محبت شما. در مورد سوال اولتون بله ایرادی نداره فراخوانی کنید مدل ها رو.
      در مورد آمار بازدیده کننده و اصولا اغلب نیاز های متداول یادتون باشه که جنگو جامعه اپ های جانبی خوبی داره. همیشه با کلید واژه django app + WhatYouWant می تونید موارد خوبی پیدا کنید. برای مثال این اپ آمار بازدید جنگو (+) یا این اپ تحلیل جنگو (+) رو در مورد سوالتون ببینید. این اپ ها برای استفاده و نمایش در داخل خود یک وبسایت هستند.
      اما در نگاه یک مدیر سایت، یادتون باشه که وبسایت های جنگو هم مثل وبسایت های دیگه امکان اتصال به Google Analytics دارند که ابزارهای تحلیلیش قطعا بسیار بهتر از اپ های موردی هست.

  92. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد من توسط آموزش جنگو با سایت شما آشنا شدم اون اموزش رو دیدم حتی یک وبلاگ برای خودم بالا اوردم رفتم چند تا اموزش دیگه درباره پایتون از سایت شما خریداری کردم. پایتون مقدماتی رو با توضیحات شما بعد از وبلاگم دوباره دیدم که پایه رو تقویت کرده باشم و بعد از اون که به شما گفتم سایت فروشگاهی تدریس کنید منتظر موندم. تا دیدم این اموزش منتشر شده درجا دریافتش کردم ولی اصلا حوصله ام مثل یادگیری جنگو نمیکشه که نگاه کنم بادقت، تمرین کنم به دفعات زیاد، قسمت به قسمت بیام جلو. من از شما میخوام که یک راهنمایی به ما هنرجویان هم رویش بکنید که دوباره اون پشتکار رو بدست بیاریم و به چیز جدید یاد گرفتن علاقه پیدا کنیم ممنون.

    • مصطفی آصفی

      سلام به شما. ببینید حس شما کاملا طبیعیه. شما بعد از دیدن آموزش ذهنتون به دنبال خلاقیته. بعد مجدد آموزش تازه طلب می کنه.
      الان شما باید سراغ طراحی یک سایت یا اپ تحت سرور جنگویی برید (هر کدوم که علاقه دارید).
      یا یک سایت برای خودتون طراحی کنید. مثلا یک سایت شخصی برای خودتون. این سایت یک بخش معرفی خودتون رو داشته باشه و یک بخش مقاله ها. با آموزش جنگو (+) و این آموزش پروژه محور جنگو می تونید این سایت رو بزنید. بعد روی تمپلت و فارسی سازی کار کنید. سعی کنید مشکلات رو حل کنید. بعد به مواردی می خورید که به راحتی نمی تونید حل کنید. مثلا نمایش عکس و فیلم در سایت که انشالله در آموزش پروژه محور شبکه اجتماعی با جنگو طی این ماه منتشر میشه. اون وقت هست که آموزش های جدید براتون لذت داره.

      یا می تونید یک اپ برای خودتون طراحی کنید با بک اند جنگویی. این آموزش کیوی (+) رو ببینید. در بخش آخر خوندن API از سرور توضیح داده شده. حالا API رو چطور آماده می کنید؟ با دیدن این آموزش Django REST (+) و شناختی که فعلا از خود جنگو دارید. مثلا یک اپلیکیشن ساده نمایش محصولات تعریف کنید. با کیوی بزنید بخش اندروید رو و بخش سرور و API رو هم با Django REST.
      بعد از دیدن آموزش در برنامه نویسی یک دگردیسی لازمه. یک پروژه که باید تعریف بشه و روزها و هفته ها سختی بکشید برای این که از فراگیر تبدیل به کننده کار تبدیل بشید. اگر این بازه رو صبر کردید و تلاش کردید دگردیسی کامل میشه و بعد از اون آموزش های بعدی رو فقط با هدف پیشبرد پروژه ها و با نگاه حرفه ای ها نگاه می کنید.

  93. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد لطفا یک اموزش درباره django analytical ارائه کنید. ما که هرچی این سند رو خوندیم متوجه نشدیم. ممنون از سایت خوبتون.

    • مصطفی آصفی

      سلام به شما. چشم یادداشت کردم. البته چند دوره به خصوص بحث یادگیری ماشین رو در دست تهیه دارم ولی سعی می کنم در آینده یک آموزش کوتاه و مستقل در این مورد داشته باشیم.

  94. محمدرضا گوشکی

    سلام استاد خسته نباشید اموزش هاتون عالیه انشالله موفق باشید

    • مصطفی آصفی

      سلام و سپاس که برای ابراز محبتتون وقت گذاشتین. انشالله که تاثیری در آینده حرفه ای شما داشته باشه.

  95. فرید

    سلام. عناوین عالی هستن. البته من تقریبا به تمام عناوین مسلط هستم فقط در حذف duplicate مشکل دارم (متد distinct هیچ تاثیری نداره برای من !!! )

  96. مهدی توسلی

    انصافا آموزش هاتون بهینه و بدون هیچ اضافه گویی هست و مطالب کامل پوشش داده میشه، در حین آموزش آدم متوجه میشه که چقدر وقت گذاشتید برای هر قسمت، واقعا خداقوت

    • مصطفی آصفی

      سلام و ممنون که برای ابراز محبت خودتون وقت گذاشتید. باعث خوشحالیه که تجربه آموزشی خوبی با این دوره داشتید. انشالله که در آینده حرفه ای شما جایی داشته باشه.

  97. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد. بسیار ممنون بابت تلاش هاتون که سعی میکنید ما یعنی هنرجویان هم رویش راضی باشیم. بنده خیلی خوش حال هستم که با هم رویش اشنا شدم و دارم از این اموزش های با کیفیت لذت می برم. استاد یک اموزش جاوا اسکریپت هم در هم رویش منتشر کنید جای خالیش در هم رویش خیلی احساس میشه. ممنون که به ما هنرجویان توجه میکنید.

  98. Abolfazl Hassanzade

    سلام استاد به قول یارو گفتنی چشممان به در خشک شد ولی ایول دست شما درد نکنه ما منتظر بقیش هم هستیم. لطفا زودتر. به خدا صبر یعقوب نبی اینقدر به طول نینجامید.

    • مصطفی آصفی

      سلام به شما. در کنار توضیحی که پایین برای دوستتون دادم لطفا به این دقت کنید که حقیقتا ضبط با کیفیت کار پرزحمت و زمان بری هست. من گاهی یک درس رو تا 40 مرتبه ضبط و نیمه کاره قطع می کنم تا به بهترین ضبط برسم.
      با این حال همه سعی رو می کنم که انشالله موارد بعدی در زودترین زمان ممکن منتشر بشن.

  99. احمد

    سلام
    قرار بود یه سایت جامع با جنگو مثل سایت خرید وفروش و یا سایت خدماتی ارائه بدین .
    ما هنوز منتظریم

    • مصطفی آصفی

      سلام به شما. موضوعات حرفه ای متنوعی در کار حرفه ای روزانه مطرح هستن که سعی می کنیم در قالب چند پروژه به مرور آموزش داده بشن به جای یک بسته جامع.
      برای مثال بحث ارسال ایمیل، بحث الگوریتم trigram در جستجوی هوشمند یا بحث مهاجرت به پایگاه داده Postgres در این پروژه کار شدن. طبیعتا در دوره بعدی که احتمالا یک شبکه اجتماعی شبیه اینستاگرام خواهد بود یا دوره پس از اون که می رسیم به سیستم فروشگاهی، با فرض این که فراگیر این ها رو می دونه می شه مباحث تازه ای رو مطرح کرد و ضمنا از طولانی شدن بیش از حد کار جلوگیری میشه.
      اگر همه این ها در یک دوره جامع کار میشدن دوره بسیار طولانی می شد، کیفیت انرژی مدرس افت می کرد و فراگیر چون زود به جمع بندی نمی رسید در نیمه راه دقتش کم می شد.

دیدگاه خود را بنویسید

نظرات کاربران در خصوص دوره 

99 دیدگاه برای آموزش پروژه محور جنگو ــ ساخت وبلاگ از صفر تا انتشار آنلاین

  1. محمد وحید (خریدار محصول)

    سلام قربان شما ممنون لطف دارین همرویش و آموزش های شما برای من نقش اساسی در مسیر توسعه این نرم افزار داشته. به امید موفقیت های بیشتر

  2. محمد وحید کوه کن (خریدار محصول)

    سلام مجدد حتما استاد با افتخار
    این لینک سایت هست: https://hamta.app/
    سایت مربوط به نرم افزاری هست به نام “نرم افزار تحليل جامع بازار هاى مالى همتا” که با همین نام هم ثبتش کردم و اتفاقا به وسیله kivy/kivymd نوشته شده.
    خیلی خوشحال میشم نظرتون رو هم در مورد سایت و هم نرم افزار بشنوم.
    نرم افزار هم تست رایگان 48 ساعته داره
    در ضمن برای بچه های سایت اگر مایل به تمدید اشتراک بودن بعد از تست بودن یه کد تخفیف “hamruyesh” قرار دادم.
    بازم ممنون از شما استاد

    • مصطفی آصفی

      سلام وقت بخیر. خیلی خوشحالم شدم کارتون رو دیدم. هم رویش کمک اندکی هم کرده باشه تو مسیر توسعه فنی این کار جای شکر داره.
      به نظر کار خوبی میاد. چون زمینه پژوهشی خودمم هست زبانه رو باز نگه می دارم که سرفرصت ثبت نام و بررسی کنم.
      تو صفحه شخصی خودم (+) معرفی می کنم کارتون رو و کد تخفیفش رو که به نظرم فکر خوبیه.

  3. محمد وحید کوه کن (خریدار محصول)

    سلام استاد وقت بخیر
    یه سوال داشتم ، در مورد نماد ساماندهی و اینماد وقتی کد مربوطه رو در فوتر سایت جنگویی خودم قرار میدم نمایش داده نمیشه ، باید چیکار کنم؟ باید تنظیمات امنیتی سایت تغییر کنه؟ مثلا به CORS_ALLOWED_ORIGINS اضافه شون کنم! آیا این کار امن هست؟
    نکته: در مورد ساماندهی کلا یه صفحه سفید باز میشه، اینماد ولی باز میشه اما در کادری که عکس صفحه سایتم میخواد بالا بیاد یه همچین اروری نمایش داده میشه
    To protect your security, example.com will not allow Firefox to display the page if another site has embedded it. To see
    this page, you need to open it in a new window.
    ممنون میشم مثل همیشه کمک کنید حلش کنم

    • مصطفی آصفی

      سلام وقتتون بخیر. شما می تونید به جای کد دریافتی اینماد و دستکاری تنظیمات امنیتی CORS صرفا تصویر اینماد رو به صفحه اینماد کسب و کار لینک خارجی کنید. البته از نظر اینماد این کار درست نیست اما گمانم نمی کنم کارشناس اینماد روی اون مشکل بگیره چون تصویر که درج میشه و لینک هم که درج میشه.

      پی‌نوشت: اگه دوست داشتین سایتی که با جنگو بالا اوردین رو معرفی کنید. برای فراگیران می تونه دلگرم کننده باشه که سایت های واقعی بر اساس یافته های دوستانشون از هم رویش ساخته شده.

  4. حمید شعبانی (خریدار محصول)

    سلام وقت بخیر
    آیا با بارگذاری سایت بر روی یک هاست آنلاین میتوان دوربین دستگاه کلاینت را باز کرد؟

    • مصطفی آصفی

      سلام وقت بخیر. این گفتگو (+)‌ و لینک‌هایی که تو پاسخ گذشته شده سرنخ‌های مفیدی براتون داره.

  5. aryary (خریدار محصول)

    با سلام خدمت شما.خطایی با متن زیر رو در دیپلوی روی هاست دریافت کردم.
    django.db.utils.OperationalError: connection to server on socket “/var/run/postgresql/.s.PGSQL.5432” failed: No such file or directory
    Is the server running locally and accepting connections on that socket?

    در ادامه کامنت قبلی، این خطا را وقتی که دستورات python manage.py migrate , python manage.py createsuperuser را اجرا می کنم میده و اپلیکیشن های جنگو با اس کیو لایت مشکلی نداره.

    • مصطفی آصفی

      سلام وقت بخیر. بله مشکل از پوستگرس هست. بهتره نصب ماژول ها رو با ماژول های مشابه من پیش برید و مطمئن بشید که سی پنلی که دپلوی می کنید هم همین نسخه رو استفاده می کنه. اگه از این مطمئن هستید احتمالا باید نصب رو مجدد انجام بدین و نصب خود پوستگرس به درستی انجام نشده و مراحل دیگه ای رو آزمایش کنید که با جستجوی متن خطا تو گوگل پیدا می کنید. مثلا این تالار از استک اورفلو (+) راهکارهایی رو پیشنهاد دادن.

  6. رامین بیات فرد (خریدار محصول)

    با سلام استاد بعد از دیدن قسمت 9 و پیاده سازی کدها به ارور زیر برخوردم:
    sequence item 0: expected str instance, tuple found
    و بعد از جستجو های فراوان نتونستم مشکل رو برطرف کنم
    لطفا راهنمایی می فرنایید

    • مصطفی آصفی

      سلام به شما. البته باید لاگ خطا و شرایط کدتون رو دقیق تر توضیح بدین ولی با این توضیح کم، ممکنه به خاطر داده بدی باشه که یا تو دیتابیس دارین یا تو تنظیمات دارین پاس میدین. این داره میگه من یکجایی استرینگ می خوام ولی دارم تاپل دریافت می کنم. البته این امکانم هست که یه اپ تو جنگو نسخه جدیدی بده که وقتی نصبش می کنید با تنظیمات قبلی ناسازگار بشه. سعی کنید همون نسخه جنگو و اپ ها رو از روی مخزن گیت هاب نصب کنید.

  7. baeidi (خریدار محصول)

    چشم استاد آصفی بزرگوار. حتما

  8. baeidi (خریدار محصول)

    بسیار ممنون از وقتی که گذاشتید و نظرات ارزشمند شما استاد گرامی
    چشم حتما. سپاسگزارم.
    ارادتمند

    • مصطفی آصفی

      ممنون از لطف شما. اگه امتحان کردین و هاستیگ خوبی پیدا کردین ممنون میشم برای اطلاع دوستان دیگه اینجا تجربه خودتون رو هم بعدها برگردونید.

  9. baeidi (خریدار محصول)

    سلام و عرض ادب خدمت جناب استاد آصفی گرامی
    من از دانشجویان دوره های پایتون ، جنگو ، کیوی ، شبکه های عصبی و … جنابعالی در سایت همرویش هستم.
    ضمن تشکر از تدریس فوق العاده جنابعالی ، با توجه به اینکه در دیپلوی سایت این دوره از هاستینگ پارس وب سرور استفاده فرمودید نظر به اینکه قیمت های هاست پایتون این شرکت بسیار بسیار رشد کرده و اصلا مناسب هاست های آموزشی اینچنینی برای امثال ما نمی باشد لذا مزاحم شدم از شما سوال کنم جنابعالی پیشنهاد دیگری در خصوص شرکت هاستینگ پایتونی مناسبتر و با قیمت مقرون به صرفه برای دانشجویان این دوره دارید.مجددا و به نوبه خود از زحمات شما و تدریس فوق العاده جنابعالی ممنون و سپاسگزارم.
    ارادتمند

    • مصطفی آصفی

      سلام و وقت بخیر. ممنونم که اطلاع دادین. منم الان دیدم متاسفانه قیمتاشون برای دانشجو خیلی بالا رفته. ولی مشکلی نیست شما گوگل کنید «هاست پایتون» و از بین سایت های دیگه انتخاب کنید. من الان گشتم هاست های ارزون تر بود. کافیه هاست پایتون باشه و بر پایه CPanel .
      وبسایت pythonanywhere (+) هم پلن رایگان داره. برای دپلوی پروژه روی اون کافیه تو گوگل «آموزش pythonanywhere» رو بزنید فیلم هایی در این زمینه هست. پایتون زیست بوم گسترده ای داره. چیزی که امروز مشکل شماست مشکل بسیاری دیگه هم هست پس احتمالا با جستجوی نیازتون توی گوگل راهکار فراوان پیدا می کنید. فقط باید از خراب شدن پروژه نترسید و امتحانشون کنید تا برنامه نویس خودکاری بشین. برای احتیاط یه نسخه از آخرین کارتون رو یا گیت کنید یا زیپ کنید و یه جا نگهداری کنید.

      پی‌نوشت: امیدوارم آقای حسن زاده تو پروژه فروشگاه جنگو (+) به زودی فصل ۹ رو کار کنن و دپلوی روی سرویس‌های ابری رو هم یاد بگیرید که خیلی دستتون رو باز می کنه و بر حسب مصرف پرداخت می کنید.

  10. مروتی

    سلام جناب آصفی
    با پایتون و جنگو میشه وب اپلیکیشن نوشت یا خیر؟
    یا باید از کتابخانه های دیگر استفاده کرد.

    • مصطفی آصفی

      سلام به شما. بله میشه. از Streamlit(+) هم می تونید تو این زمینه استفاده کنید که کدنویسی کمتری نیاز داره.

      پی‌نوشت: تعریف وب اپلیکیشن اگه صفحه وبی باشه که در اون هدف‌های اصلی کاربری صفحه بدون بارگذاری مجدد صفحه اجرا بشن، در این صورت ترکیب جنگو با ایجکس چنین فضایی رو فراهم می کنه که در آموزش ساخت وبسایت شبیه اینستاگرام با جنگو (+) در مورد پسند تصویر یا دنبال کردن افراد پیاده‌سازی کردیم. اگه منظورتون چیز دیگه‌ای هست هم بفرمایید تا بیشتر هم‌فکری کنیم.

  11. reza maleki (خریدار محصول)

    سلام و عرض ادب خدمت آقای آصفی
    ببخشید بنده در قسمتی که می خوام پایگاه داده رو از sqlite به postgresql تغییر بدم هنگامی که migrate می کنم با این خطا مواجه میشم.
    django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named ‘psycopg2’
    ممنون میشم راهنمایی کنید با سپاس

    • مصطفی آصفی

      سلام به شما. این خطا ممکنه به دلیل ناسازگاری نسخه پایتون شما با psycopg2 (مثلا پایتون ۳.۸ گزارش مشکل زیاد داره) یا پیشنیازهای سیستم باشه. پیش از هر کاری این کار رو امتحان کنید:
      نسخه باینری رو نصب کنید:
      pip install psycopg2-binary
      در تنظیمات هم حتما
      ‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’
      رو بررسی کنید که فراموش نکرده باشید.

      پی‌نوشت: مهم ترین چالش جامعه پایتون رشد کتابخانه های مختلف و ناسازگاری های مکرر اون هاست. همیشه سعی کنید بر اساس فایل requirements.txt دوره ها رو با همون نسخه های پکیج های آموزش پیش ببرید که به مشکل نخورید.
      پی‌نوشت ۲: چنین مشکلاتی که ممکنه نیاز داشته باشه چند راه رو امتحان کنید و یکیش به سیستمتون بخوره از گوگل و stackoverflow غافل نشید. الان همین خطای psycopg2 module: No module named ‘psycopg2 رو اگه گوگل کنید چند فروم استک اورفلو براتون میاد که میشه راهکارهای مختلفی رو امتحان کرد.

  12. reza maleki (خریدار محصول)

    سلام استاد وقت بخیر
    ببخشید من وقتی می خوام که محیط م رو فعال کنم با همچین خطای مواجه میشم ممنون میشم راهنمایی کنید.
    venv\Scripts\activate : File C:\Users\Marefat-PC\PycharmProjects\pro_blog\venv\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at
    https:/go.microsoft.com/fwlink/?LinkID=135170

    • مصطفی آصفی

      سلام وقت بخیر. این خطا مربوط به امنیت PowerShell هست. شما می تونید اول دستور پایین رو تو پاور شلی که برای ساخت venv باز کردید اجرا کنید تا موقت این ضریب امنیتی رو برداره:
      Set-ExecutionPolicy Unrestricted -Force
      یا این که یک پاورشل با جستجوی کلمه powershell در سرچ ویندوز و انتخاب run as administrator باز کنید و اونجا محیط مجازی رو بسازید.
      یا این که برای ساخت محیط مجازی به جای پاور شل از command prompt ویندوز استفاده کنید. کافیه کلمه cmd رو تو جستجوی ویندوز تایپ کنید و بعد از اجرا با دستور cd به مسیر مورد نظر برید یا اگه تو VSCode هستید سمت راست ترمینال روی + بزنید و ترمینال CMD باز کنید.

  13. ابوالفضل حسن زاده (خریدار محصول)

    سلام اقای حسینی عزیز وقت شما بخیر. اگر که همینطوری که اینجا نوشتید کد رو نوشته باشید … خب یه اشتباه تایپی دارید اون get باید همش با حروف بزرگ نوشته بشه.
    request.GET.get

  14. محمدحسین حسینی (خریدار محصول)

    سلام و عرض ادب
    من دوره رو کار کردم ولی توی درس ساخت صفحات paginator به مشکلی خوردم هرچی هم سرچ میکنم جواب رو پیدا نمیکنم خواستم کمک کنید.
    مشکل با این page = request.Get.get(‘page’) هست. میگه اینجور اتریبیوتی رو نداری. ممنون میشم کمکم کنید.

    ارور:
    AttributeError at /blog/

    ‘WSGIRequest’ object has no attribute ‘Get’

    • مصطفی آصفی

      سلام به شما. کلمه Get رو اشتباه نوشتید. به این شکل GET درسته.

      پی نوشت: لطفا این نشانی (+) رو ببینید و مطمئن بشید که همین نسخه ها رو در کنار پایتون ۳.۷ برای پیشبرد آموزش استفاده می کنید. پایتون به سرعت رشد می کنه و موقع آموزش دیدن باید نسخه های یکسان استفاده کنید. بعدها می تونید ارتقا بدید.

  15. askari (خریدار محصول)

    سلام استاد وقت بخیر
    خیلی سعی کردم با سرچ کردن مشکلمو حل کنم اما نشد
    اکستنشن pg_trgm نصب کردم اما عملگرها و توابع وجود ندارند
    و هنگام سرچ ارور میده:
    function similarity(text, tsquery) does not exist
    LINE 1: SELECT COUNT(*) FROM (SELECT SIMILARITY(“weblog_topic”.”body…
    ^
    HINT: No function matches the given name and argument types. You might need to add explicit type casts.
    لطفا راهنمایی کنید.

    • مصطفی آصفی

      سلام وقت شما هم بخیر. خطا داره می گه که شما این اکستنشن رو نصب ندارید. ممکنه نصب کرده باشین ولی نه روی دیتابیسی که دارید برای جنگو استفاده می کنید. اگه این طور باشه از دستور پایین باید بتونید مشکل رو حل کنید:
      from django.db import connection
      with connection.cursor() as cursor:
      cursor.execute(‘CREATE EXTENSION IF NOT EXISTS pg_trgm’)
      به این شکل بررسی می کنید که اگه اکستنشن نصب نیست اون رو با کوئری خام روی دیتابیس نصب کنه.

  16. محسن عزیزی (خریدار محصول)

    سلام بر مهندس آصفی عزیز
    یه سوال داشتم
    اینکه آیا امکان ترکیب SearchRank و TrigramSimilarity برای ایجاد یه جست‌وجوی پیشرفته هست یا خیر؟
    شما این موضوع رو در دوره مطرح کردید
    من تلاش کردم برای حل اما نتیجه اون چیزی که میخواستم نشد
    امکانش هست که من رو راهنمایی کنید
    https://github.com/Mohsen7640/blog/blob/main/blog/views.py
    این لینکه پروژه است رو گیت هاب خودم
    ممنون میشم راهنمایی ام کنید

    • مصطفی آصفی

      سلام به شما آقای عزیزی. لطفا بخش اصلی مشکلتون رو مطرح بفرمایید که بتونم راهنمایی کنم. بنده حقیقتا نمی‌رسم که سورس کدهای ارسالی دوستان رو به صورت کامل بررسی کنم.
      برای مثال: من این چند خط رو نوشتم که این اتفاق بیفته ولی این خطا رو می گیرم یا در عمل به این شکل خروجی داره. در عوض می‌خوام به این شکل بشه.
      به این صورت اگه بنویسید بنده می‌تونم سریع منظورتون رو بفهمم و اگه بلد باشم راهنمایی کنم.

  17. محمد حسنی (خریدار محصول)

    سلام استاد عاصفی عزیز
    بنده در ائاسط این دوره تون هستم و واقعا تا اینجا بسیار راضی بودم از دوره ای که برگزار کردید. بیان شما بسیار شیوا میباشد. سوالی که تا اینجا برام پیش آمده برقرار نشدن ارتباط بین جیمیل و اپم هست و نمیدونم چرا درخواستم با وجود تنظیماتی که شما گفتید و انجام دادم ریجکت میشود و با ارور زیر مواجه میشوم:
    ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

    • مصطفی آصفی

      سلام و ممنون از محبت شما. خوشحالم که آموزش رو مفید دیدید.
      این خطا داره می گه که فایروال سرور گوگل داره درخواست شما رو پس می زنه. شما باید از این نشانی (+) دست کم به صورت موقت امکان دسترسی رو فراهم کنید. البته بعدا به حالت اول برگردونید چون برای جیمیلتون خطر داره. تو آموزش ساخت اینستاگرام با جنگو (+) که بعد از این دوره احتمالا می بیینید اونجا با توجه به این که شبکه اجتماعی بوده روش دیگه ای توضیح دادم که اصولی تره. البته اگه اون دوره رو تهیه نکردید مشکلی نیست تو دوره فروشگاه هم انشالله این رو خواهیم داشت.

  18. وحید ییلاق بیگی (خریدار محصول)

    سلام جناب آصفی عزیز
    من در درس 23 دچار مشکل شدم. زمان انتقال پایگاه داده با وجود انجام تمامی مراحل با خطا زیر مواجه شدم.
    django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named ‘psycopg2’
    با اینکه ماژول psycopg2.binary هم نصب کردم.

    • مصطفی آصفی

      سلام به شما. اگه باینری رو هم درست نصب کرده باشید و در تنظیمات هم
      ‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’
      رو اضافه کرده باشید. در این صورت ممکنه عدم تطابق نسخه ها مشکل ساز باشه. برای مثال پایتون ۳۲ بیت با سایکوپیجی ۳۲ بیت همساز نیست. یا گزارش یه کاربر رو می خوندم که پایتون ۳.۸ با psycopg 3.8.2 سازگار نیست. سعی کنید دقیقا از نسخه های بنده استفاده کنید و نتیجه رو اعلام کنید.

  19. حسین مطهری فر (خریدار محصول)

    سلام
    در درس 6 در فایل views.py در تابع post_detail چرا وقتی میخواهیم جزئیات یک پست را مشاهده کنیم از slug و post استفاده می کنیم و چرا مثل دوره LLog وقتی یک لینک را انتخاب می کردیم از ID اون لینک استفاده نمی کنیم .
    مفهوم slug ,و post را درک نمی کنم. وقتی میشه از id استفاده کرد.
    def post_detail(request, year, month, day, post):
    post = get_object_or_404(Post, slug=post ,
    status=’poblished’,
    publish__year=year,
    poblish_month=month,
    publish__day=day)
    return render(request, ‘blog_app/post/detail.html’, {‘post’: post})

    • مصطفی آصفی

      سلام به شما. اگه درس بعدی (URL) رو با دقت ببینید موضوع واضح تر میشه. فرض کنید کاربری نشانی یک پست شما رو تو بوکمارک هاش نشانه گذاری کردی. نشانی صفحه جزئیات یک پست شامل چیه؟ year + month + day + slug درسته؟ شما اینجا id نداری. از نظر امنیتی هم درست نیست که قرارش بدی. حالا اگه کاربر تو مرورگر درخواست این url رو مستقیم از مرورگرش بفرسته جنگو از کجا باید بفهمه که چه پستی رو پیدا کنه؟

      دقت کنید که کاربر همیشه نمیاد تو سایت از صفحه اصلی روی اون پست کلیک کنه که شما اونجا اون post رو داشته باشی.

  20. t (خریدار محصول)

    استاد عزیز سوالی ذهنمو مشغول کرده بنده یک ایده ای ماشبه وب سایت https://www.dideo.ir/ دارم با مقداری تفاوت و ارایه خدماتی اختصاصی ایده من بدین شکله که ویدیو های یوتیوب رو در سایت خودم نمایش بدم ویدیو هایی که از دسته بندی یا از کانال خاصی اوتومات گرفته میشه و در سایت بنده به نمایش در میاد چنان چه به سایت https://www.dideo.ir/ سری بزنید متوجه میشید که این سایت ویدیو ها رو از یوتیوب میگیره و بدون فیلتر در سایت خودش به نمایش میزاره بنده قبل این ایده به ذهنم رسیده بود جستجو کردم دیدم بله این امکان وجود داره که ویدیو ها رو میشه بدون فیلتر بیاریم در سایت نمایش بدیم! لطفا در این مورد کمی توضیح بدید که با جنگو سراغ چه چیز ها و شاخه هایی بریم برای یادگیری این مورد واقعا اگه کمی در مورد روندکلی راهنمایی کنید بهتون قول میدم یادش بگیرم. ممنون

  21. ابوالفضل حسن زاده

    سلام و عرض ادب و احترام خدمت استاد آصفی و اقای بیگی. خواهش میکنم اقا کاری نکردم.

  22. vahidbeygi (خریدار محصول)

    سلام و عرض ادب میخواستم تشکر کنم از شما جناب مهندس آصفی عزیز من بیش از یکسال هست که از آموزش های شما دارم استفاده میکنم دقیقا از همون زمان که این وبسایت کارش رو شروع کرد و به تازگی موفق شدم که وبلاگ خودم رو با فریم ورک شگفت انگیز جنگو آماده ارسال به میزبان آنلاین کنم. اینجا میخوام از آقا ابوالفضل حسن زاده عزیز هم تشکر کنم به خاطر ساخت تمپلیت بی نظیرش . این جوون آینده خوبی داره. خیلی خوشحالم که چنین جوون هایی داریم و با وجودشون به آینده ی کشورم امیدوار میشوم.

    • مصطفی آصفی

      سلام به شما آقای بیگی و ممنون که برای ابراز لطف خودتون مراجعه کردین.
      جای خوشحالی داره که آموزش ها براتون مفید بوده. و البته کار شما از همین جاست که شروع میشه: پیاده سازی چیزهای تازه روی وبلاگتون. از اینجاست که شروع به خودآموزی و پیشرفت می کنید.
      امیدوارم در این مسیر موفق باشید.
      بنده هم به آینده آقای حسن زاده عزیز بسیار امیدوارم و از ایشون برای روحیه مشارکتشون تقدیر می کنم.

      پی‌نوشت: در صورت تمایل می تونید نشانی وبلاگی که ساختید رو اینجا بگذارید یا برای مدیر اینستاگرام بفرستین تا دیدنش برای بچه ها انگیزه بخش باشه.

  23. سید محمد حسینی (خریدار محصول)

    آموزشتون عالیه

    • مصطفی آصفی

      سلام و ممنون از لطف شما و این که برای ارسال انرژی مثبت خودتون وقت گذاشتید.

  24. ابوالفضل حسن زاده

    سلام به تمامی دوستان و هنرجویان عزیز هم رویش. دوستانی که در طراحی ریسپانسیو تمپلت مشکل دارند ولی مخواهند هرچه زودتر پروژه ها شون رو بالا بیارن بنده حاضرم براشون تمپلت کاملا ریسپانسیو و رایگان براشون بزنم بعد ها که دانش شون در تمپلت بیشتر شد خودشون تمپلت اختصاصی بزنند. اگر دوست داشتید به این شماره در واتساپ پیام بدید. 09191931548

    • مصطفی آصفی

      سلام و آفرین به شما. پیشنهادتون خیلی خوبه. همچنین برای این که یک مرتبه مهارتتون از این کار رو به افراد بیشتر و بیشتری منتقل کنید می‌تونید به مدرسان هم رویش بپیوندید و بحث طراحی قالب رو به صورت آموزش‌هایی عرضه کنید.

  25. ابوالفضل حسن زاده

    سلام و عرض ادب و احترام خدمت استاد آصفی.
    این رو میگم چون من آدم یک رویی هستم در کامنت هایی گذاشتم این کاملا مشهوده واقعا استاد اصفی در زندگی من در رفتار من و حتی در لحن و گفتار من تاثیر به سزایی داشتند و من از ایشون و تشکر میکنم و بابت آموزش های خوبی که تولید میکنند به ایشان خسته نباشید و خدا قوت میگم.

    • مصطفی آصفی

      سلام آقای حسن زاده عزیز. ممنونم از محبت شما.
      این نشون می‌ده که شما در تلاش خودسازی هستید و از هر کس ویژگی‌های خوبی رو که می‌بینید، تحلیل و احتمالا برای خودتون الگوبرداری کنید.
      امیدوارم که در مسیر خودشناسی هم مثل مسیر کار و حرفه، همواره در پژوهش باشید و به کاوش خود واقعیِ خودتون هم بپردازید.

  26. ابوالفضل حسن زاده

    سلام اقای مرادی خسته نباشید.
    حالا من کاره ای نیستم ولی خب اونچه که میدونم رو به شما میگم. من هر موقع تمرین میکردم یا رو وبلاگم کار میکردم اگر مدلی رو ایجاد میکردم بعد به هر دلیلی مجبور به پاک کردن اون و اصلاح دیتابیس میشدم، مدل رو از فایل models.py پاک میکردم دوباره makemigrations و migrate رو اعمال میکردم.

    • مصطفی آصفی

      سلام و ممنون از روحیه مشارکت خوب شما. جواب شما خوب و کامل هست.

  27. sina_moradi (خریدار محصول)

    سلام آقای آصفی خسته نباشید
    متاسفانه ننوشته تو کدوم خط خطاست که اونجا رو درست کنم
    میخواستم ببینم آقای آصفی میشه با اینکه یه جدولی رو با models.py تو دیتا بیس ایجاد کردیم پاک کنیم ؟ (با اینکه خطا میده)

    • مصطفی آصفی

      سلام. می بخشید جواب شما دیر شد. همون طور که دوست عزیزمون گفتن مدل رو اصلاح و از نو دیتابیس رو مهاجرت بدید.

  28. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید.
    درست می فرمایید استاد واقعا این اتفاق فاجعه امیز هستش.
    از لینک هایی که در اختیار بنده گذاشتید بسیار سپاس گذارم.
    استاد من طبق گفته های شما در رابطه با hasssan.net یه سری تغییرات دادم و از همه مهم تر خیلی وقت پیش تغریبا چند ماه قبل از انتشار فصل اول شبکه اجتماعی باجنگو من درگیر استفاده از markdown روی متون فارسی بودم که بالاخره با راهنمایی های شما ، جست و جو کردن و تست کردن روش های مختلف موفق به اعمال این ویژگی شدم‌. اصلا استاد بگذارید حس درونم رو بگم با markdown پست گذاشتن خیلی حال میده 🙂 تمامی استایل هایی که الان شما روی متن میبینید همه از markdown استفاده شده.
    سپاس فراوان از شما استاد بزرگوار.

    • مصطفی آصفی

      سلام پسرم سلامت باشی. ممنون که تجربه خودت رو با من و دوستان دیگه در میون گذاشتی.
      سایتت خیلی حرفه ای تر و زیباتر شده. مخصوصا با تم تاریک که می تونی اون رو به عنوان قالب پیش فرض تنظیم کنی.
      انشالله که هر روز در پژوهش و یادگیری باشید

  29. Alireza Pakravan

    سلام استاد وقتتون بخیر. ببخشید توی این دوره از API هم استفاده میکنین؟

    • مصطفی آصفی

      سلام به شما. خیر تو این دوره از تمپلت برای فرانت اند استفاده می کنیم.

  30. sina_moradi (خریدار محصول)

    سلام آقای آصفی
    ممنون بابت آموزش های خوبتون
    آقای آصفی شرمنده من تو قسمت ایجاد کامنت برای postها با شما جلو میام ولی به یک AttributeError برمیخورم که مینویسه
    ‘tuple’ object has no attribute ‘split’
    متاسفانه خط ارور رو هم نمی نویسه که آدم برطرف کنه
    ممنون میشم نظری داشته باشین

    • مصطفی آصفی

      سلام به شما. بر اساس گزارشی که دارید می کنید احتمالا یک جا یه اشتباه کوچیک کردید. شاید یه کاما یه جایی تو فهرست مثلا موتور دیتابیستون
      DATABASE_ENGINE = ‘sqlite3’,
      یا یک مشکل کوچیک دیگه. لطفا بررسی کنید که خطا داره روی چه خط کدی داده میشه و اون خط رو بررسی کنید و اگه متوجه منظور نشدید اینجا بنویسید که با هم بررسی کنیم.

  31. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید.
    استاد این عکس های معرفی اموزش ها رو خودتون در هم رویش تولید میکنید درسته ؟؟
    میخواستم بپرسم میشه من هم از این عکس ها استفاده کنم یا نه گفتم شاید این عکس ها مال هم رویش هستش و حقوق مادی معنوی و از این جور چیز ها دور از اخلاق و ادب حرفه ای هستش که بدون اجازه استفاده کنیم.
    استاد یک سری اصطلاح هستش اگر یک مختصر توضیحی دهید ممنون میشم. مثلا میگن برنامه نویس فول استک یا سینیور یا جونیور. یعنی چی ؟؟؟

    • مصطفی آصفی

      سلام به شما. این که جوون های نسل تازه ما در رابطه با حقوق معنوی دغدغه دارن باعث خوشخبتیه و برای بنده باعث خوشحالیه که جامعه ما به چنین سمتی می ره.
      در مورد عکس بسته های آموزشی (شاخه ها) باید بگم که چارچوب این ها توسط گرافیست هم رویش ایجاد شده و محتوای داخلی هم با ترکیب تصویرهای مرتبط و رایگان خارجی در گوگل به دست میاد.

      با توجه به این که هم رویش یک ناشر رسمی دیجیتال هست و آثارش در ارشاد ثبت میشن این ها مشمول حقوق معنوی هستن و امکان استفاده مجدد از اون ها برای یک آموزش جدید از طرف ناشر دیگه نیست. یعنی متعلق به یک نفر مثل بنده نیستن که بنده بتونم مجوز استفاده بدم بلکه متعلق به یک موسسه هستن.

      مهم ترین دلیل هم اینه که کاربر ممکنه در جای دیگه تصور کنه که محصولی که می بینه متعلق به هم رویش هست در حالی که هم رویش از تولید اون خبری نداره و چه بسا که کیفیت اون بسته مورد تایید هم رویش نباشه.
      فرض کنید یک نفر سایتی ایجاد کنه نامش رو بگذاره سایت ابوالفضل حسن زاده و عکس شما رو هم بگذاره. طبیعتا ممکنه مطالبی بنویسه که شما راضی نیستید به نام شما منتشر بشه.

      اما بگذارید راهنماییتون کنم. شما می تونید عکس هایی که در گوگل حق نشر ندارن رو پیدا و با ترکیب بندی عکس های تازه ای بسازید. مثلا لوگوی جنگو رو به رایگان می تونید از اینجا دریافت و در پروژه هاتون با تصویرهایی مرتبط با سوژه ای که دارید استفاده کنید. این وبسایت دانلود رایگان آیکن هم ببینید.

      در مورد اصطلاحاتی که پرسیدید این ها خیلی تعریفشون وسیع هست. پیشنهاد می کنم به مجله هم رویش که یک مقاله خوب در این مورد کار کنن.

  32. امین اجاقی (خریدار محصول)

    با سلام و درود فراوان خدمت استاد برزرگ و گرامی مصطفی آصفی عزیز استاد عزیز من آن آموزش شبکه اجتماعی را تهیه کرده ام پس قبل شروع پروژه آن میبینم سپس به سراغ پروژه می روم فقط اکنون سری یک آموزش موجود است آیا این آموزش در همین سری می باشد ؟ و در مورد دستور sudo ما در صدد کار با کتابخانه TrigramSimilarity هستیم که در پایگاه داده postgresql کار می کند و من یک بار آن روش را از طریق آموزش رفتم ولی user را در آموزش ساخته بودیم و بعدا با جستوجو در اینترنت یاد گرفتم که آن user را به superuser تغییر بدم زیرا برای ساختن EXTENSION کاربر باید superuser باشد که با تغییر کاربر و ادامه دستورات سرچ برای من کار نمی کرد و آن خطا هایی که برایتان عکس هایش را ارسال کردم میداد و این ترمینال نیز که نام آن CMDER میباشد یک ترمینال برای ویندوز است که فرمان های لینوکس درون آن عمل می کند که فرمان sudo را آنجا اجرا کردم ولی عمل نمی کند .
    با تشکر از مهربانی های فراوان شما استاد عزیز . 3>

    • مصطفی آصفی

      سلام جناب اجاقی. ممنون از محبت شما. بله فصل اول شامل همین بحث هست. در مورد مشکلی که با دستور sudo دارید پیشنهاد می کنم اگر بتونید یک فضایی از یکی از درایوهاتون خالی کنید در حد 30 یا 40 گیگابایت هم کافیه. بعد یک لینوکس ابونتو کنار ویندوز از پایه نصب کنید یا یک ماشین مجازی مثل VM Box مثلا از اینجا دریافت و فایل نصب سیستم عامل لینوکس توزیع ابونتو هم از اینجا دریافت و روی اون ماشین مجازی نصب و راه اندازی کنید. به این صورت یک سیستم عامل واقعی خواهید داشت.
      آموزش نصب و راه اندازی اوبونتو روی VM هم در نت فارسی هست. می تونید در آپارات اول یکی دو مورد ببینید که با دید بازتری اقدام کنید.

  33. ابوالفضل حسن زاده

    سلام استاد خسته نباشید.
    استاد من تفاوت این عملگر افزایشی رو متوجه نشدم.
    int x = 5;
    int y ;

    y = ++x; ===> y == 6 , x == 6
    y = x++; ===> y == 5 , x == 6

    استاد بسیار از نظرات شما سپاس گزارم. دارم روش کار میکنم.

    • مصطفی آصفی

      سلام به شما. عملگر ++ وقتی پیش از متغیر بیاد به عملگر = هم مقدم میشه. بنابراین در بالا اول x یک واحد اضافه میشه و بعد مقدار y محاسبه میشه. در مقابل عملگر ++ وقتی بعد از متغیر بیاد اولویت اجراش از عملگر = کمتر میشه. در کد دوم اول مقدار y مساوی x میشه و بعد x یک واحد اضافه میشه. این موضوع به خصوص در شمارنده حلقه ها باید بهش توجه بشه.

  34. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرامی مصطفی آصفی عزیز استاد در مورد فرمان sudo من در آن را در ترمینال لینوکسی در ویندوز اجرا کردم زیرا من با لینوکس کار نمی کنم و آن سیستم عامل را ندارم و در مورد سوال دیگر اینکه در سوال گفتم از تکی استفاده کردم ولی اکنون دیدم که تگ نیست آن تگ ، تگ که من عکس را در مسیر فایل افئم قرار می دهم سپس و با به این صورت قرار می دهم آن حرف a در آخر کد وجود ندارد ولی عکس در صفحه باز نمی شود حتی من عکس را با یک مرورگر نیز باز کردم و آن آدرس که در مرورگر نشان میدهد را نیز آنجا قرار دادم ولی باز هم عکس باز نمی شود .

    • مصطفی آصفی

      سلام مجدد. در مورد فراخوانی عکس پایین خدمتتون توضیح دادم. در مورد دستور sudo لطفا بیشتر توضیح بدین که چه دستوری رو قصد دارید اجرا کنید و این ترمینال لینوکسی که در ویندوز می فرمایید چطور ایجاد کردید؟

  35. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرامی مصطفی آصفی استاد عزیز من در حال نوشتن وبسایتی برای آژانس دایی خودم می باشم و با مسئله ای که روبرو شدم این است که می خواهم عکسی در صفحه قرار دهم و با جستوجو در اینترنت یافتم که این کار با تگ ممکن است و من با این تگ به این صورت
    کد را قرار دادم و فایل تصویر با همین نام را نیز در پوشه ی درون templates قرار دادم که فایل های html را در جنگو آنجا قرار می دهیم ولی عکس در صفحه باز نمی شود زمانی که وارد صفحه می شوم. آیا کاری هست که باید برای load شدن عکس انجام دهیم ؟
    با تشکر از محبت و مهربانی شما استاد عزیز و دوست داشتنی .

    • مصطفی آصفی

      مجددا سلام جناب اجاقی عزیز. ببینید برای نمایش عکس در جنگو باید عکس ها رو در پوشه static قرار بدین. شما می تونید در اپ مورد نظرتون یک پوشه static قرار بدین و بعد به شیوه ای مشابه این آموزش نمایش عکس در تمپلت در جنگو (+) عکس رو از اون پوشه فراخوانی کنید.

      پی‌نوشت: توضیح بالا برای نمایش یک عکس ثابت در تمپلت بود. برای کار کردن پویا با عکس ها می تونید از ImageField در مدل ها استفاده کنید که متاسفانه گنجایش بخش نظرات در حدی نیست که بشه تمام موضوع و حالت‌های اون رو توضیح داد. در این آموزش ساخت شبکه اجتماعی با جنگو (+) با مثال زدن عکس پروفایل کاربر این موضوع رو توضیح دادم.

  36. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرامی مصطفی آصفی عزیز و دوست داشتنی استاد متن خطا متن زیر می باشد .
    با تشکر از محبت و مهربانی شما استاد عزیز .
    ‘sudo’ is not recognized as an internal or external command, operable program or batch file.

    • مصطفی آصفی

      سلام جناب اجاقی عزیز. شما در چه محیطی دارید از sudo استفاده می کنید؟ یادتون باشه که sudo یک دستور سیستمی لینوکس هست. در ویندوز کار نمی کنه.

  37. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد عزیز و گرامی مصطفی آصفی بزرگوار استاد عزیز دستور sudo را در ترمینال cmder که یک ترمینال لینوکسی می باشد اجرا کردم در موتور جنگو در app پروژه ولی خطای ناشناس بودم فرمان را می دهد .

    • مصطفی آصفی

      سلام به شما. سلامت باشید.
      اول به طور کلی یه توضیح در مورد دستور sudo در لینوکس بدم خدمتتون. دستور sudo دستور کار به عنوان ادمین سیستم هست که باید بعد از اجرا گذرواژه سیستم رو بزنید. در ترمینال لینوکس وقتی گذرواژه رو می زنید به شما کاراکترها رو نشون نمیده. پس احتمالا گذرواژه رو درست وارد نمی‌کنید.
      در غیراین صورت باید متن دستوری که می زنید با خطای دریافتی رو بفرستید که بتونم بهتر نظر بدم.

  38. امین اجاقی (خریدار محصول)

    با سلام خدمت استاد بزرگ و گرانقدر مصطفی آصفی عزیز استاد بالاخره بعد روزها جستوجو در پستی فردی ایده ای نیکو داده بودند که اگر ورژن 32 بیت نرم افزار را نصب کنیم مسئله حل می شود و من رفتم و یکی از ورژن های قدیمی تر که ورژن 32 دارند را نصب کردم و مسئله کاملا حل شده اکنون به سراغ موضوع خودمان می روم و نتیجه را به شما اعلام می دارم با تشکر ار مهربانی های شما .
    دوست عزیزم ابوالفضل حسن زاده ممنون از لطف و مهربانی شما مرد نیکو .

    • مصطفی آصفی

      سلام آقای اجاقی عزیز. ممنون از این همه محبتی که دارید و حتی با وجودی که بنده فرصت نکردم به بررسی مشکل شما بپردازم شما برگشتید و تجربه خودتون رو با دیگران اشتراک گذاشتید. خدا رو شکر که مشکل شما حل شد.

  39. ابوالفضل حسن زاده

    سلام و عرض ادب و احترام خدمت دوست عزیزم اقا امین گل.
    بسیار متشکرم نظر لطف شماست.

  40. امین اجاقی (خریدار محصول)

    با سلام و درود به استاد بزرگوار و عزیز مصطفی آصفی با تشکر از راهنمایی شما استاد نمونه این مطالبی که در این پست ها بود را طی کرده ام ولی به نتیجه ای نرسیدم استاد یک خطایی در هنگام Unistall می دهد که در مورد stop server می باشد error stopping service postgresql-x64-13 متن خطا این می باشد نکته ای که من در کل دریافتم این است که افراد با این خطا زمانی روبرو می شند که یک بار برنامه را پاک کنند و بخواهند دوباره نصب کنند پس موضوع باید در مورد فایل های سیستمی و ارتباطی مستقیم با سرور Postgresql که در Services ویندوز قرار می گیرد باشد زیرا زمانی که دوباره آن را نصب می کنم و با خطا روبرو می شوم و Ok را می زنم یکی این گزینه در Services دیگر موجود نیست و پوشه data نیز تهی می باشد استاد بسیار ممنون و متشکر می شوم از شما اگر با راهنمایی های خودتان من را در این امر هدایت کنید زیرا مسیر ادامه کار را برای من به صورتی مسدود کرده است .

    و با تبریک خدمت دوست و همکلاسی عزیز ابوالفضل حسن زاده به خاطر فعالیت نیکویتان و ساختن این سایت زیبا خدا برکت فراوان به شما و خانواده محترمتان بدهد .

  41. ابوالفضل حسن زاده

    سلام استاد خسته نباشید. استاد من طبق اون دانشی که بدست اوردم و اونچه که فهمیدم چندتا پست تو سایتم گذاشتم از این جدیدترا زیاد مطمئن نیستم که درست نوشتم یعنی اصلا درست فهمیدم ممنون میشم یه نگاه بندازید. hasssan.net

    • مصطفی آصفی

      سلام اقای حسن زاده عزیز. من ویسایت خوبتون رو دیدم. مشخصه که خیلی زحمت کشیدید و دارید حسابی تلاش می کنید. وضعیت Dark Mode که کار کرده بودید ایده خیلی قشنگیه. من سعی کردم به دیده نقادانه سایتتون رو نگاه کنم. ایرادهایی که می بینم رو سخت گیرانه براتون می نویسم که انشالله کارتون قشنگ قشنگ تر بشه:
      به لحاظ رابط کاربری، صفحه به نظر من شلوغه. به نظرم دادن margin بیشتری به عنوان و متن از دو طرف صفحه بدید و کمی فاصله خط ها و بندها رو بیشتر کنید که صفحه خلوت بشه. تو نوار سمت جپ به عکس فاصله خط رو تو لیست پست ها و محبوب ترین ها کمتر کنید.
      می‌تونید بیایید از یک نمونه قالب مشابه در بوت استرپ یا … همه اندازه ها رو الهام بگیرید که قالب خلوتی باشه.

      از نظر محتوا حتما متنتون رو یک مرتبه بعد از نوشتن با دقت بخونید. مثلا تو «اولین پروژه جنگویی» بند دوم نوشتید «به صورت خیلی اما اصولی» که گمانم منظور «به صورت کلی اما اصولی» بوده. حتما متن رو بخونید که اشتباه تایپی و املایی رو برطرف کنید و سال ها خیالتون راحت باشه.
      خیلی خوبه که وقتی خودآمور می نویسید در پست اول، تصویری از آخر کار بگذارید که کاربر دلگرم باشه و بدونه قراره به چه چیزی برسه.
      یه مطلب مرکزی می تونید درست کنید که در اون فهرست همه قسمت های یک خودآموز رو می نویسید. به این شکل در پایان نوشته خودتون در هر قسمت می تونید بگید برای خوندن قسمت های دیگه به فلان مطلب مراجعه کنید که لیست همه رو داره. بعد هر نوشته جدید که می نویسید برید و به اون مطلب مرجع اضافه کنید.

      به طور کلی انگیزه و تلاشتون خیلی خوبه. خدا قوت و آفرین. ضمنا اگه تا این حد علاقه مند به آموزش هستید توصیه می کنم از بخش «تدریس در هم‌رویش» اقدام کنید و موضوع‌های کوچیک جنگو پیشنهاد کنید که از شما به صورت آموزش منتشر بشه. ضمن تحقیق می تونید یادگرفته‌هاتون رو یاد بدید. آموزش هاتون رو می تونید تا سایت خودتون هم معرفی کنید.

      پی‌نوشت: به زودی یک آموزش برای ساختن یک سایت شخصی جذاب با جنگو و یک CMS در هم‌رویش خواهیم داشت.

  42. امین اجاقی (خریدار محصول)

    با سلام درود فراوان بر استاد بزرگ مصطفی آصفی عزیز و گرامی استاد پس از پیام آخر شما به سراغ کار با پستگرس رفتم ولی دیدم دیگر نمی توانم به آن وارد شوم نه از طریق ترمینال و نه از طریق pgadmin و خطایی مبنی بر این که نمی توان به سرور کانکت شد می دهد و سپس به جستجوی حل آن رفتم و روش هایی از اینترنت یافتم ولی در سیستم من عمل نکرد مثل وارد شدن به services و دیدن اینکه آیا پستگرس disable است یا خیر سپس پستگرس را پاک کردم تا دوباره نصب کنم با خطای دیگری روبرو شدم که آن نیز خطای PostgreSQL Windows Installation Problem running post-install step. Installation may not complete correctly “The database cluster initialisation failed” با این خطا روبرو شدم که تمام روش های تصحیح این را نیز جستجو کردم و انجام دادم ولی بر روی سیستم من جواب نمی دهد از یوتیوب چندین مسیر را یافتم و طبق ویدئو پیش رفتم ولی باز هم نشد آیا شما با این خطا آشنایی دارید؟

    • مصطفی آصفی

      سلام به شما. خدا قوت. احتمال داره که متغیر path به درستی صدا زده نمیشه. لطفا این جواب (+) و این جواب (+) مشابه رو بررسی کنید.

      پی‌نوشت: کار با دنیای رایگان و متن باز در عین شیرینی مشکلات عجیب و غریبم زیاد داره. صبور باشید.

  43. امین (خریدار محصول)

    با سلام درود مجدد خدمت استاد بزرگ و گرامی مصطفی آصفی عزیز استاد همانطور که فرمودید در ی=سایت پیکو فایل قرار دادم .
    https://s17.picofile.com/file/8421665484/Error1.jpg
    https://s16.picofile.com/file/8421665642/Error2.jpg
    با تشکر فراوان از محبت شما استاد گرامی .

    • مصطفی آصفی

      سلام به شما. این خطایی که دریافت می کنید داره می گه تابع similarity وجود نداره. در واقع به pg_trgm اشاره می کنه که احتمالا به درستی و روی همین دیتابیس و یوزری که دارید کار می کنید نصب نشده.
      مطمئن بشید که اکستنشن pg_trgm رو نصب کردید. برای این کار اول با دستور پایین به دیتابیس خودتون (مثلا نامش blog باشه) متصل بشید:
      psql blog
      (در ترمینال لینوکس با این دستور و فلگ پایین نام دیتابیس رو مشخص کنید: sudo -u postgres psql –dbname=blog)

      و بعد با دستور پایین اکستنشن رو نصب کنید:
      CREATE EXTENSION pg_trgm;

      یه مورد باگ هم یه دوستی گزارش کرده بود که بنده البته خودم هنوز دسترسی ندارم که آزمایش کنم ولی می گم خدمتتون بعد از اطمینان از نصب صحیح اگه مشکل برجا بود، بررسی کنید. گفته بودن که تابع TrigramSimilarity با search_query کار نمی کنه و باید به جاش بهش string پاس بدین. همین طور به جای SearchVectorField باید بهش فیلد خام پاس بدین.

      این دو رو لطفا با دقت بررسی و نتیجه رو اعلام کنید.

  44. امین اجاقی (خریدار محصول)

    سلام و درود بر استاد بزرگ و مهربان مصطفی آصفی عزیز این لینک های خطا ها می باشد فقط بخاطر تغییر در کد ها در فایل base.html برای فارسی سازی و راست چین کردمن سایت خطایی به آن عنوان هم اضافه شده ولی خطای ابتدایی هم هست .
    https://2share.su/download-temp/11717
    https://2share.su/download-temp/11720
    با تشکر از محبت بی کران شما …

    • مصطفی آصفی

      سلام مجدد. ببینید مطابق تصویری که در این لینک (+) براتون گذاشتم تصویرهایی که فرستادید موجود نیستن. گمانم مشمول حذف 24 ساعتی شدن. لطفا از آپلود سنتری مثل پیکوفایل استفاده کنید که فایل ها از دست نرن.

      پی‌نوشت – شاید به دلیل تاخیر بنده در بررسی نظر بوده. از این بابت عذرخواهی می کنم.

  45. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی مصطفی آصفی عزیز استاد در مرحله جستوجوی پیشرفته بسیار شاد شدم از این که تمرینی برای ما فراهم آوریدید که جستجوی بر اساس شباهت کلمات را خودمان دست بگیریم و اجرا کنیم و من ابتداَ از StackOverFlow طزیقه آپگرید کاربر PostgreSQL به SuperUser را یافتم که بسیار کارامد بود برایم و سپس Extension را در پایگاه داده ساختم و اقدام به نوشتن کد کردم تنها موردی که نتوانستم دریابم این بود که زمانی که کد را وارد ساختم و جستجو کردم بیشتر ولی نتوانستم با این جستجو صفحه را در مرورگر بعد از جستجو بالا بیاورم و صفحه مرورگر خطا می داد خواستم بدانم که آیا نکته وجود دارد که برایم توضیح بدهید زیرا تا آن لحظه ما با سه کلاس SearchVector, SearchQuery, SearchRank کار کرده بودیم و در این جستجو فقط از این جستجو استفاده کردم به همان صورت که ‘title’ را که در کد مثال توضیحات سایت برای جستجو وجود داشت به جای ‘name’ قرار دادم و query را به جای test یعنی در مجموع به صورت زیر :
    results = Post.published.annotate(
    similarity=TrigramSimilarity(‘title’, query),
    ).filter(similarity__gt=0.3).order_by(‘-similarity’)
    به این صورت جای پرانتزها را در نظر بگیری زیرا در سایت جا به جا می شود بخاطر فیلتری که بعد از نشانه ها اگر حرف نگذاریم جهت صحیح نمی شود پس استاد عزیز من به این صورت که توضیح دادم عمل کردم منتظرم برای توضیحات نیکو و ارزشمند شما استاد بزرگ و گرامی با تشکر خدای متعال برکت فراوان ارزانی شما بدارد .

    • مصطفی آصفی

      سلام و پوزش از تاخیر در پاسخ. لطفا متن خطای دریافتی رو ارسال بفرمایید تا بتونیم به خوبی هم فکری کنیم. اگه متن خطا به درستی ارسال نمیشه از محیط مرورگر هنگام خطا عکس بگیرید و در یک آپلودسنتر رایگان بارگذاری کنید و لینک تصویر را ارسال بفرمایید.

  46. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید.
    استاد من پروژه
    hasssan.net
    از پایه با این اموزش دوباره نوشتم.لطفا یک نگاه می اندازید. اگر اشکالاتی داشت حتی در پست ها ممنون میشم که من رو به نحوی مطلع کنید.

    • مصطفی آصفی

      سلام و پوزش بابت تاخیر. سایتتون و نظرتون رو همون روز بنده دیدم اما به دلیل فشردگی برنامه فرصت نشد. کارتون خیلی خوب شده. راست چین، با فونت و رنگ بندی خوب. آفرین به تلاش شما.
      انشالله با یک آموزش ظرف چند هفته آبنده در همین حوزه وبلاگ یک سی ام اس خوب برای جنگو رو معرفی می کنم که بتونید باز هم سایتتون رو حرفه ای تر کنید.

  47. رضا (خریدار محصول)

    با سلام از اونجایی که سایت امکان مشاهده آنلاین محتوای دروس آموزشی رو نداره و باید فایلها حتما دانلود بشن لطفا حداقل فایل ها رو به صورت زیپ نشده قرار بدید لینک دانلودش رو تا ما بتونیم لینک دانلود رو وارد نرم افزار اجرای فیلم کنیم و بصورت آنلاین نگاه کنیم تا نیازی به دانلود نباشه. الان اینطوری نمیشه چون وقتی لینک دانلود رو میزنیم یه فایل زیپ دانلود میشه که آموزش داخل اون هست. یا اگر حتما باید زیپ شده قرار بدید توی یه قسمت دیگه اونها رو بدون زیپ بزارید. ممنون

    • مصطفی آصفی

      سلام به شما. بله حق با شماست. فرآیند دریافت آموزش ها به ویژه وقتی تعداد درس ها زیاد هست باید راحت تر بشه.
      این رو پیش از این هم با تیم توسعه هم‌رویش مطرح کردیم و انشالله در دستور کار قرار می گیره که دست کم فعلا امکان دریافت یکجای بسته برای کسانی که اینترنت خوبی دارن فراهم بشه.

  48. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد.
    استاد من هم با دوستم اقا رضا موافقم.
    راستی برای اینکه فقط محیط کدنویسی تون رنگ بندی شبیه sublime بشه یه خورد با تنظیماتش بازی بازی کنید میتونید درستش کنید و این در حالیه که دورش dark یا light باشه. اصلا خواستید براتون ضبط کنم اون یه تیکه بفرستم.

    • مصطفی آصفی

      سلام به شما. بسیار عالی و ممنون از مشارکتتون.
      در مورد راهنمایی خوبتون هم بله اتفاقا بعد از این که برای آقا رضا هم پاسخ فرستادم یادم اومد که امکان فراخوانی استایل هم در محصولات جت برینز هست.
      اما با توجه به مطلبی که گفتید، پیشنهاد می کنم اگه دوست داشتید این مورد (تنظیم سبک گرافیکی و کدنویسی پایچارم) رو به عنوان یک برگ رایگان در هم رویش منتشر کنید. منم کنار دوستان دیگه به عنوان یک فراگیر اونجا کارتون رو می بینم. شاید این آموزش کوتاه خودش سبب خیر باشه و به این وسیله یک بار مراحل رو طی کنید و بعدها بتونید بسته های بیشتری هم حتی در بخش شاخه ها منتشر کنید. در صورت تمایل برای شروع، بخش تدریس در هم رویش (+) رو ببینید.

  49. رضا (خریدار محصول)

    درود بر شما
    در ابتدا بی نهایت از شما برای تولید آموزش هایی با این کیفیت سپاس گزارم و بدون هیچ اغراقی باید عرض کنم که شاید اولین نباشید اما با این روش تدریس و رعایت استاندارد ها که به شخصه در هیچ سایت آموزشی ندیدم ، قطعا یکی از بهترین ها هستید.

    یک انتقاد کوچک هم داشتم:
    امیدوارم در آموزش های بعدی بک گراند محیط کد نویسیتون تیره باشه البته در دوره ی قبلی اینگونه بود (sublime text)اما در این دوره(وبلاگ حرفه ای) در pycharm بک گراند سفید رو انتخاب کرده بودید که چشم رو زودتر خسته میکرد.

    • مصطفی آصفی

      سلام به شما و ممنون که برای ابراز نظر و لطفتون وقت گذاشتید. امیدوارم که آموزش برای شما مفید باشه.
      اتفاقا چشم خود من هم با پس زمینه سفید اذیت میشه منتها این طور پای چارم رو تنظیم کردم چون به نظر می رسید سبک نمایش تیره پای چارم به خوبی سابلایم نیست و کسی که فیلم رو می بینه ممکنه کمی سردرگم بشه و مسیر کدها رو پیدا نکنه.
      _________
      پی‌نوشت: دوستان دیگه در این صفحه اگر این پیام رو دیدن مشارکت کنن لطفا و نظرشون رو اعلام کنن. این لحظه که این نظر رو می نویسم در حال ضبط درس 21 شبکه اجتماعی با جنگو هستم. اگر ببینم چندین مورد این مشکل رو دارن از این درس به بعد سبک صفحه رو عوض می‌کنم (قبل از نظر فقط لطفا سبک تیره پیش فرض پایچارم رو بررسی کنید).

  50. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد. واقعا خدا قوت انشاالله به خدا من خودم شرمندم که شما رو این طور تحت فشار عصبی از لحاظ وقفه افتادن بسته اموزشی قرار دادم. خسته نباشید. حالا استاد یه چیز بگم برای تقویت روحیه کاری شما ما منتظر این بسته هستیم و وقتی هم که منتشر شد با دقت نگاه مکنیم تمرین میکنیم و تمرین. میگن خستگی یک معلم زمانی از بین میرود که بازخورد مثبت از شاگردانش بگیرد ما هم این بازخورد رو به شما هدیه میکنیم. استاد ببخشید مثل اینکه این تکه کدتون رو سیستم حذف کرده حالا طبق راهنماییتون یه سرچ ریز میکنم 🙂 با اجازه و خدا قوت

    • مصطفی آصفی

      سلام مجدد. ممنون از محبت شما. بله همین که می بینم با آموزش ها کاری انجام میدید. خستگی از تنم بیرون میره.
      جواب قبلی رو ویرایش کردم. حواسم نبود توی تگ نوشتم که حذف کرده بود سیستم.

  51. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد خسته نباشید. استاد ببخشید برای بار چندم سوال میکنم این اموزش شبکه های اجتماعی با پایتون کی منتشر میشه؟
    یک سوال دیگه چرا وقتی از markdown برای متون فارسی استفاده میکنیم کل کار رو به هم میریزه، تنظیمات روی متن درست اعمال نمیکنه(منظور نحوه نشان دادن متن مثلا بولد کردن، لینک کردن و…) لطفا یک راهنمایی یا منبعی که از اونجا مطالعه کنیم پیشنهاد کنید. بسیار متشکرم.

    • مصطفی آصفی

      سلام به شما. در مورد markdown در صفحه های حاوی کاراکترهای UTF-8 تگ پایین رو به head تمپلت خودتون اضافه کنید:
      meta charset=”UTF-8″
      در مورد دوره شبکه اجتماعی با عرض پوزش، بسطی که مباحث این دوره مثل jQuery و Ajax و ثبت نام با گوگل و … نیاز داشت باعث شد که زمان بندی تولید پروژه با اونچه پیش بینی کرده بودم متفاوت بشه.
      امکانات خوبی داره این پروژه مثل دنبال کردن افراد، نمایش ایجکسی تصاویر بدون نیاز به لود مجدد صفحه مثل اینستاگرام، بوکمارکلت اشتراک گذاری تصویر مثل Pinterest و دیدن تاریخچه فعالیت کاربران که مستلزم کارهای دیتابیس حافظه‌ای هست. ولی خب برای هر کدوم موضوع بسط زیادی پیدا می کنه که کسانی که آشنا نیستن هم دید کافی بگیرن.
      اگه عمری باشه، امیدوارم که تا پایان سال بتونم این دوره پر و پیمون رو به طرز مناسبی به علاقه مندان هدیه کنم.

  52. امین اجاقی (خریدار محصول)

    درود فراوان بر استاد بزرگ و کگرامی مصطفی آصفی عزیز و دوست داشتنی استاد در اواسط آموزش شما هستم و در لحظه آموزش Template Tag لحظه ی شگفت انگیزی را برای من در آموزشتان فراهم آوردید به طوری که تا آن لحظه از آموزش که همینظور از کمال آموزش َما لذهت می بردم با دیدن این آموزش به وجد وشادی بسیار دست یافته و خدا را شاکر شدم از یافتن شما استاد کامل و نمونه درود خدا بر شما و خانواده مهربان و دوست داشتنی شما که چنین فرزند نمونه برای جامعه خویش هدایت کرده اند دوستار شما آمین

    • مصطفی آصفی

      سلام جناب اجاقی عزیز. شما محبت دارید و بزرگوارید که توان قددرانی دارید. باعث خوشحالیه که آموزش برای شما مفید و شورانگیز بوده.

  53. رضا (خریدار محصول)

    با عرض سلام و خسته نباشید
    من تا الان نزدیک 8 مورد پلی لیست آموزش جنگو از سایت های مختلف و توسط مدرسان متفاوت رو گرفتم و تمرین کردم اما از وقتی که این آموزش رو گرفتم تا الان صد بار گفتم کاش همون اول با این سایت آشنا میشدم و این آموزش رو میگرفتم. بقیه آموزش ها رو من هر کدوم یه نقصی رو پیدا میکردم داخلش. یا توضیح درست نمیدادند یا مطالب کامل نبود.
    اما از این آموزش و آموزش اولی جنگو هیچ ایرادی نمیشه گرفت
    بسیار حرفه ای و کامل و نحوه تدریس استاد که فوق العادست و با این قیمت که گذاشتید در اختیار خلق الله! با سی سال سن اولین باره که چنین پک کامل و خوش قیمتی رو دیدم یه جا!
    واقعا خسته نباشید میگم بهتون استاد گرانقدر و امیدوارم همین فرمون پیش برید و موفق و موید باشید و ما رو هم با دوره های دیگه از دانشتون بهره مند کنید.

  54. incode.ir

    سلام امیدوارم توی دوره بعدی که شبکه اجتماعی هست مباحث جامع تری گفته بشه
    و خیلی از چیز هایی که توی این 3 دوره جنگو نگفتید توی این دوره گفته بشه
    ابزار های زیادی رو میشه به پنل ادمین جنگو اضافه کرد امیدوارم توی این دوره گفته بشه
    تشکر

    • مصطفی آصفی

      سلام و ممنون از پیشنهاد شما.
      برای داشتن یک پنل مدیریت غنی تر می‌تونید از Django CMS استفاده کنید. مقاله Django CMS چیست (+) رو می‌تونید برای شروع مطالعه کنید.
      طبیعتا جنگو با داشتن سابقه طولانی موارد زیادی برای گفتن داره. امیدوارم در آینده فرصتی باشه که یا در دل آموزش‌های پروژه‌ای یا به صورت مستقل به بحث پنل هم بپردازیم.

  55. امین اجاقی (خریدار محصول)

    با درود فراوان خدمت استاد بزرگم مصطفی آصفی عزیز و دوست داشتنی بسیار خوشحالم استاد از آشنایی با سایت شما و بخصوص شخصیت زیبای خود شما که اینگونه دنیا را با محبت طی می کنید و دانش را به این صورت در دنیای خدا در اختیار برادران و خواهرانتان قرار می دهید با تشکر از پاسخ گویی های ارزشمند شما در آن مورد فایل های css کاملا اندیشه ام روشن و آگاه شد. اکنون منتظر آموزش های نیکوی دیگرتان می باشد مخصوصا آن آموزش که در مورد آن قبل تر سخن گفتید که ساخت یک فروشگاه آنلاین بود زیرا کل پروژه ها تا کنون و آن پروژه ی ساخت شبکه اجتماعی که گفتید در کنار هم ما را یک برنامه نویس تحت وب به صورت حرفه ای می سازد و در این امر کامل می شویم و آماده کار برای مشتریان گرامی که همانا خواهران برادران دیگرمان می باشند می شویم و در ادامه مسیر نیز پروژه های دیگری که َشما برای افزایش دانش فراهم می آورید ما را کامل تر می سازد و دوستی ما تا ابد ادامه خواهد داشت از خدا برایتان آرزوی بهترین مسیر های رویاء در محبت را دارم و دوستار شما می باشم با تشکر .

    • مصطفی آصفی

      سلام جناب اجاقی عزیز. بسیار از محبت شما ممنونم و آرزوی موفقیت براتون دارم. خوشحالم که جدا از محتوای تخصصی، ‌با حال و هوای آموزش هم ارتباط حسی برقرار کردید. این سبب میشه که یادگیری مفاهیم علمی شیرین تر و عمیق تر بشه.
      امیدوارم عمری باشه موارد بعدی رو هم بتونم با کیفیت مناسب منتشر کنم.

  56. ابوالفضل حسن زاده (خریدار محصول)

    سلام این کامنت برای جلب اعتماد شما کاربر عزیز که تازه بانام هم رویش آشنا شده اید هستش.
    دوست عزیزم هم رویش از نظر کیفیت آموزش با بقیه اموزش های موجود قابل قیاس نیست این رو از من بپرسید چون من ادم بسیار حساس در خرج کردن پول برای این طور موارد هستم.
    خب شاید با خودت بگی هیچ ماست فروشی نمیگه ماست من ترشه.
    نه عزیزمن من هم مثل شما یک هنرجو ۲۰ ساله عاشق برنامه نویسی هستم. خلاصه این اموزش ها از کیفیت بسیار بالایی برخوردار هستن اصلا شک به دلتون راه ندید.

    • مصطفی آصفی

      سلام آقای حسن زاده عزیز. شما محبت دارید. باعث خوشحالیه که محیط آموزش‌ها این چنین مفید بوده.
      انشالله که در به‌کارگیری آموزه ‌هاتون موفق باشید

  57. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی ستون یادگیری برنامه نویسی تحت وب با پایتون برای من
    با تشکر از پاسخ گویی شما در هر زمینه ی آموزشی و پیگیری مسیر آموزشتان استاد در مورد مطلبی که از شما سوال کردم در مورد بوت استرپ منظور بنده این بود که برای کار با بوت استرپ بود که بنده گفتم و منظورم از یک فایل base.html فایلی مانند آن فایل در پروزه که در صفحات چیزی ظاهر کند نبود بلکه فقط مطالب تنظیمات زیباسازی را داشته باشد و با ارث بری در صفحات قابل استفاده باشد تا در هر صفحه آن مطالب تکرار نشود البته این سوال من می باشد که آیا امکان پذیر است یا خیر یا اینکه برای کار با بوت استرپ نیز فایل های css را باید به کار ببریم؟

    • مصطفی آصفی

      سلام مجدد. متوجه منظورتون شدم. در عمل شما یک فایل index.html یا base.html می تونید داشته باشید که فایل های css رو در اون یک بار آدرس دهی کنید. بعد تمام صفحه ها این فایل رو extend کنن که دیگه نیازی به فراخوانی مجدد css در اون ها نباشه.
      در مورد بخش دوم سوالتون هم باید بگم که بوت استرپ اصولا خودش یک مجموعه ای از css و جاوااسکریپت های آماده هست که وقتی به پروژه شما اضافه میشه انگار یک تعدادی از این ها رو شما به پروژه خودتون اضافه کردید.

      پی‌نوشت: همین روزا در حال ضبط یک آموزش ساخت شبکه اجتماعی شبیه pinterest و اینستاگرام با جنگو هستم که با توجه به سوال شما حتما سعی می کنم در اون مورد بیشتر تعامل با فرانت اند رو مطرح کنم. امیدوارم دی ماه کامل و منتشر بشه.

  58. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی مصطفی آصفی عزیز با تشکر از پاسخ کاملتون بله استاد بنده نیز در پروژه قبلی آموزش جنگو زمانی که بوت استرپ را آموزش دادید ایده ای مبنی بر این به اندیشه ام رسید که در این دوره در آموزش دیدم که بعنوان فایل های css شناخته می شود یعنی می توان با بوت استرپ صفحه ای مانند base.html ساخت که صفحات دیگر از آن ارث بری کنند و تمام زیباسازی ها درون آن صفحه باشد که و در صفحات پروژه استفاده شود یعنی تمام موارد مورد نیاز یک پروژه برای زیباسازی و تنظیمات صفحات بعنوان یک فایل base.html باشد و در صفحات بوسیله ارث بری استفاده شود .

    • مصطفی آصفی

      سلام مجدد. سلامت باشید. ببینید زیباسازی های پروژه رو معمولا نه در یک فایل base.html بلکه در فایل های css قرار می دن و بعد در فایل های html میشه کلاس ها و عناصر موجود در اون فایل ها رو فراخوانی کرد. توصیه می کنم حتما یک آموزش مقدماتی html و css و بعد از اون یک آموزش بوت استرپ جستجو و همگام با این آموزش جنگو ببینید تا دید دقیق تری پیدا کنید. احساس می کنم این طور با تبادل نظر ممکنه به بیراهه برید.

  59. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد.
    استاد یه جا لازم هستش که یه لینک دانلود فایل قرار بدیم. من خیلی سرچ کردم ولی به جایی نرسید. اگه بشه یه توضیح کوچیک بدید یا فرایند کار رو توضیح بدید. ممنون. ببخشید ما زیاد سوال می پرسیم یا علی.:)

    • مصطفی آصفی

      سلام به شما. شاید خوب متوجه منظور شما نشده باشم. اگر فقط لینک دانلود هست که در html تگش رو می نویسید. منظورتون این هست که فایلی تو خود سرور جنگو ذخیره بشه بعد جایی صدا زده بشه؟
      در این صورت اون فایل باید بخشی از یک مدل باشه و می تونید در مدلتون یک فیلد از نوع FileField قرار بدین. این آموزش FileField (+) رو ببینید. در این صورت هر جا نمونه ای از اون مدل ساخته یا فراخوانی بشه این ویژگی فایل رو داره که میشه ازش صدا کرد.
      داخل آموزش بالا به محل ذخیره سازی فایل دقت کنید.

  60. امین اجاقی (خریدار محصول)

    درود بر استاد بزرگ و گرامی مصطفی آصفی عزیز استاد در مسیر آموزش هستم و با سوال دیگری روبرو شدم که اکنون برایتان می گویم سوال درباره ی فایل css می باشد زیرا در آموزش شما درباره کد نویسی فایل css توضیحی ندادید ولی فایل را در پوشه قرار داده اید آیا فایل css فایلی آماده است و ساختار یکسانی دارد یا ما باید خودمان برای صفحه های اختصاصی خویش تنظیمات شخصی خودمان را کد نویسی کنیم ؟ با تشکر از مهر و محبت شما استاد گرامی و بسیار شاد گشتم از اینکه روحیه ی زندگی شما در رؤیا روحیه ی همکاری در محبت می باشد.

    • مصطفی آصفی

      سلام به شما. ببینید یک وب سایت از دو بخش تشکیل شده:
      1- ظاهر وبسایت یا Fron-end با ترکیب زبان های HTML و CSS و JavaScript
      2- قلب منطقی سایت که با زبان های گوناگونی ممکنه نوشته بشه و شما در این دوره دارید یاد می گیرید که با زبان پایتون بنویسید.
      و یک فریمورک مثل جنگو اجازه میده که شما این دو بخش رو در قالب یک پروژه مدیریت کنید و حتی در پروژه های بزرگ تر هر کس روی بخشی از پروژه که به صورت آنلاین در گیت هاب مثلا قرار گرفته کار کنه. مثلا متخصص دیتابیس فقط روی مدل ها کار کنه و متخصص طراحی فرانت اند فقط روی فایل های html و چون این ها تفکیک شدن از هم این دو به کار هم تا حد زیادی کار ندارن و کار تیمی قابل تقسیمه.

      بیاییم سراغ فرانت اند: فایل های HTML که در آموزش مقدماتی جنگو (+) باهاشون آشنا شدیم ساختار صفحه رو می چینن و فایل های CSS زیباسازی این ساختار رو به عهده دارن. این که چه رنگی چه حاشبه هایی چه فونتی و … استفاده بشه. جاوااسکریپت هم که زبان برنامه نویسی هست برای مواردی که شما نیاز دارید همون جا تو فرانت اند و سمت کاربر هم گاهی منطقی رخ بده. مثلا کابر روی یک دکمه HTML زد بعد محو بشه دکمه یا فلان درخواست رو ارسال کنه به سرور (بک اند)

      بنابراین فایل های CSS در هر پروژه متفاوت هستند و معمولا پروژه ها از جایی به بعد یک یا چند نفر فرانت اند کار دارن که این ها مسئول فقط ظاهر سایت هستند. در پروژه های کوچک وقتی شما کل پروژه رو خودتون می زنید به ناچار باید HTML و CSS و JavaScript هم خودتون بنویسید یا مثل کاری که من کردم از نمونه های آماده استفاده کنید.

      هدف در آموزش جنگو معمولا بک اند هست پس بخش های فرانت اند رو من به صورت آماده در پروژه استفاده می کنم. شما حتما در کنار این آموزش فیلم هایی در رابطه با سه زبان فرانت اند ببینید تا اون ها براتون آشنا بشن.

  61. ابوالفضل حسن زاده (خریدار محصول)

    سلام مجدد.
    ولی استاد فکر میکنم که متوجه شدم. بسیار ممنون.

  62. ابوالفضل حسن زاده (خریدار محصول)

    سلام استاد.
    راستش کدتون مشخص نبود. منظور شما به این صورت هستش: path(‘/’, PostDetailView.as_view())

    • مصطفی آصفی

      سلام به شما. بله من متوجه نبودم تگ ها رو سیستم حذف کرده بود. به صورت عکس براتون جایگزین و پاسخ پایین رو به روز کردم.

  63. ابوالفضل حسن زاده (خریدار محصول)

    سلام و عرض ادب به شما دوست عزیزم امین اجاقی.
    خواهش میکنم انجام وظیفه بود.

  64. امین اجاقی (خریدار محصول)

    سلام بر تو برادر عزیز و دوست داشتنی Abolfazl Hassanzade بسیار خشنود شدم از پاسخ بسیار کاربردی و همکاری صمیمانه شما دوست و برادر عزیز خدای متعال برکت فراوان به شما و خانواده عزیز و مهربانتان ارزانی دارد مسئله مورد سوال بنده با پاسخ شما حل گشت با تشکر.

  65. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد ما چطور میتونیم صفحه ۴۰۴ شخصی خودمون رو داشته باشیم. یعنی تمپلت ما به نوعی override به شه. و الان من یک url الکی میدم به من خطای ۴۰۴ میده ولی میگه از طرف یه ویو خاصی پرتاب شده.
    Raised_by: blog.views.pro_detail
    هرچی هم سرچ کردم تو مستندات گشتم دلیلش رو نفهمیدم. لطفا یه راهنمایی کنید ممنون.

  66. Abolfazl Hassanzade (خریدار محصول)

    سلام اقای امین اقاجی.
    حالا من کاره ای نیستم ولی خب خوبه که دانسته هامون رو باهم به اشتراک بزاریم.
    من فکر میکنم شما اون لحظه ساختن پست وضعیت منتشر شده قرار ندادید چون شما اگر طبق اموزش های استاد پیش برید دیفالت وضعیت draft هستش چون اون منیجر فقط پست های منتشر شده رو بیرون میکشه حالا شاید مشکل از جای دیگه ای باشه.

    • مصطفی آصفی

      سلام به شما آقای حسن زاده گرامی. بسیار ممنون که در راهنمایی دوستمون مشارکت کردید.

  67. امین اجاقی (خریدار محصول)

    سلام استاد من در مسیر آموزش هستم به بخش Manager اختصاصی رسیدم که در فایل models.py کلاسی برای آن می نویسیم من کل مسیر را با شما طی می کنم ولی زمانی که در شل پایتون با دستور (Post.published.filter(title__startswith=’how درخواست کوئری ست می کنم به این صورت خالی است دلیل چیست ؟

    • مصطفی آصفی

      سلام به شما. چند روزی بنده درگیر بودم. خوشحالم که روحیه همکاری دراینجا ایجاد شده و آقای حسن زاده مشکلتون رو حل کردن. همین طور سپاس که نتیجه رو با گرمی به ایشون اعلام کردید.

  68. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد من میخوام متن ایمیلی که ارسال میکنم فارسی باشه خب حالا این کار کردم ولی تو shell محیط برنامه نویسی اینجوری چاپ میکنه. مثلا به جا سلام چاپ میکنه م ا ل س. حالا این نوع رفتار در حالت واقعی اصلاح میشه به خودیه خود یا خیر باید تنظیمات خاصی رو انجام بدیم. در ضمن استاد لطفا یک اموزش regex هم قرار بدید. ممنون از شما و تیم هم رویش.

    • مصطفی آصفی

      سلام به شما. بله این در پای چارم راه داره و در حالت انتشار هم معمولا این حالت رفع میشه. در مورد regex هم پایین خدمتتون گفتم. حتما انشالله به زودی.

  69. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد من امروز به یک مشکل اساسی بر خوردم.
    در جنگو نمیشه مقادیر اسلاگ فارسی باشه تا زمانی که شما allow… رو در فیلد اسلاگ true نکنید بعدش هم در urls.py برای url فارسی نمیشه از path استفاده کرد باید از re_path استفاده کنیم اونم با یک regex خاص. حالا من regex بلد نیستم. میخواستم بدونم شما راهی ندارید که با استفاده از path بتونیم اسلاگ های فارسی درست کنیم. اگر هم که راهی نیست یک اموزش مثل اموزش گیت ورود سریع، یک ورود سریعی هم به regex بزنیم چون من گیت رو با توضیحات شما خیلی خوب متوجه شدم. با سپاس و تشکر.

    • مصطفی آصفی

      سلام به شما. برای استفاده از کاراکترهای UTF در Slug اولا دقت کنید که داخل مدلتون به صورت زیر امکانش رو فعال کنید:
      slug = models.SlugField(max_length=100, allow_unicode=True)
      بعد هم در هنگام استفاده از path به جای slug از str استفاده کنید.

      نمونه کد در این لینک (+) رو ببینید.

      پی نوشت : در مورد regex هم حتما انشالله. یک دوره در حال برنامه ریزی دارم که در اون یک جایی حتما به این بحث می پردازم.

  70. امیررضا (خریدار محصول)

    با سلام و احترام
    استاد جلسه 27 کارهایی که شما انجام دادید عینا انجام دادم اما در مرحله migrate کردن دیتابیس متاسفانه خطای زیر را دریافت کردم، در ضمن کتابخانه psycopg2-binary را نیز نصب کرده ام:

    django.db.utils.Operational Error: could not connect to server : no such file or directory

    با تشکر از تدریس خوبتون و قیمت مناسب پک های آموزشی شما.

    • مصطفی آصفی

      سلام به شما. اگر مطمئن هستید که مراحل رو به درستی همراه با بنده طی کردید و دبتابیس رو هم ایجاد کردید، در این صورت احتمالا به این دلیله که PostgreSQL در حال اجرا نیست. کد پایین رو در ترمینال اجرا کنید
      sudo service postgresql start
      اگر با این حل نشد ممکنه از تنظیمات پوستگرس در داخل settings سراسری پروژه باشه:
      نام کاربری و گذرواژه رو بررسی کنید که هم خوان باشه. پورت هم 8000 نباشه. ‘PORT’: ‘5432’

  71. mjavad.sabrjoo (خریدار محصول)

    سلام و خسته نباشید
    قبل از خرید دیدم که ظاهرا دوره سر فصل های خوب و کاملی رو پوشش می داد و فکر می کردم مثل دوره های قبل شما عالیه.
    اما متاسفانه بعد از گذشت چند قسمت تنها شاهد توضیحات روی کدهای کپی پیست شده بودم
    توضیحاتی که اصلا کافی نبود. برای اولین بار از خریدم از سایت شما بشدت ناراضی هستم.

    • مصطفی آصفی

      سلام و سپاس که برای اظهار نظرتون وقت گذاشتید.
      قبل از مطالعه توضیحات پایین توصیه می‌کنم تا پایان آموزش رو کامل ببینید بعد قضاوت کنید. چند درس اول که شما گفتید دیدید (تا درس هشتم) کمی توضیحات به ناچار زیاده چون داریم زیرساخت رو آماده می کنیم. از اونجا به بعد کم کم نکته‌های جدید و شیرین در هر درس داریم.

      و اما در مورد ایراداتی که مطرح کردید:

      1- استفاده از کدهای آماده به دلیل حجم بالای کدهای پروژه هست که اگر قرار بود کلمه به کلمه من تایپ کنم آموزش بسیار زمان بر می شد. پس فیلم رو نگه می داشتم، یک خط یا چند خط کد رو یکجا به پروژه اضافه می کردم و بعد توضیحشون می دادم.

      2- شما باید هر آموزش رو با اهداف اون آموزش مقایسه کنید. در اون آموزش جنگوی مقدماتی (+) ما هدفمون مخاطبی بود که حتی یک خط کد آماده نگرانش می کرد. یک فراگیر مبتدی. هدفمون یک ورود به دنیای برنامه نویسی وب بود. هر مفهوم رو با اسلاید مرور می کردیم تا جا بیفته. اما اینجا در این آموزش فرض می کنیم فراگیر با جنگو و وب آشنا شده به دنبال یادگیری امکانات کاربردی جدید هست. برای برنامه نویس شدن این روش خوبه. یعنی برای مثال من می گم که اپ taggit چی هست و چطور به جنگو اضافه میشه. یه نمونه هم نشون میدم. بعد شما به اقتضای ایده و پروژه ای که دارید برید و خودتون امکانات بیشتر رو کشف کنید.

      3- در رابطه با سرفصل ها هم که فرمودید، یعنی موردی بود که در سرفصل ها نوشتم و پوشش ندادم؟ اگر موردی بوده حتما بفرمایید.

      4- در مورد کافی نبودن توضیحات، بله هر کدوم از مباحث گفته شده قطعا کلی ریزه کاری دارن که در پروژه‌های مختلف هم متفاوته. اما دقت کنید که این یک آموزش پروژه محوره! یعنی آشنایی با ابزارها به اقتضای یک پروژه. برای مثال شما اینجا با بحث مهاجرت پایگاه داده به پوستگرس در جنگو آشنا می شید. اما در مورد خود PostgreSQL میشه ساعت ها صحبت کرد. هدف این آموزش، وارد کردن شما به موضوع هست. این که چطور کار رو در جنگو انجام بدین. بدیهیه که کشف جزئیات بیشتر به اقتضای پروژه های جدید به عهده خود شماست.

      پی‌نوشت: با همه توضیحاتی که عرض کردم، اگر همچنان تصور می کنید که این آموزش رضایت شما رو جلب نکرده، به اینفوی هم رویش یک ایمیل بفرستید و درخواست استرداد وجه کنید تا وجه پرداختی شما رو برگردونن.

  72. Abolfazl Hassanzade (خریدار محصول)

    سوالات پنجمین دوره مسابقات کد کاپ (پایتون / جنگو ):
    سوالات = {
    “پایتون-ام تایی ها”: “۵۰”،
    “پایتون-فاکتوریسم”: “۷۰”،
    “پایتون-قانون شکن”: “۱۰۰”،
    “جنگو-جیتسی”: “۱۲۰”،
    “جنگو-بورس و کرونا”: “۱۵۰”،
    “جنگو-دوبستان”: “۱۹۰”
    }
    خب دیکشنری سوالات که در بالا مشاهده میکنید کلید ها اسم و مقادیر امتیازات سوالات هستن. بعد از مسابقه این سوالات در سایت کورا قرار میگیرد. موفق و پیروز باشید.

    • مصطفی آصفی

      سلام به شما. دست شما درد نکنه آقای حسن زاده. خیلی خوبه که روحیه همکاری و اشتراک گذاری دارید. امیدوارم که دوستان استفاده کنن.

  73. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    من امروز تو مسابقه کد کاپ شرکت کردم.
    استاد سوالات جنگو خیلی سخت بود. باگ های پروژه مشکلات پروژه به صورتی بود که من اصلا نشنیده بودم. به همین خاطر گفتم که نکات موجود در سوالات رو تدریس کنید. من اسم سوالات رو دارم اگر خواستید براتون به یک طریقی بفرستم. یا نه اصلا اسماشون رو کامنت میکنم. با اجازه استاد‌.

  74. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد.
    دست شما درد نکنه. بسیار متشکرم.

  75. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد.
    —————–
    استاد یک سوال فنی میشه از یک کلاس دو تا کلید خارجی بزنیم به دو جدول مجزای دیگه که اونها به صورت پیش فرض نان هستن هر نوع نمونه ای که از روش ساخته شد اون کلید خارجی با اون پر بشه. مثلا کلاس کامنت دو تا کلید خارجی میخوره به دو تا جدول دیگه. کلاس کامنت رو برای دو منظور استفاده کنیم. نمیدونم متوجه شدید یا نه، انشاالله که متوجه شید.

    • مصطفی آصفی

      سلام به شما. راستش مثالتون رو متوجه نشدم ولی به طور کلی برای زدن دو کلید خارجی از یک جدول خوبه از related_names استفاده کنید:

      inventor = models.ForeignKey(Users, null=True, related_name=’inventor’)
      assignee = models.ForeignKey(Users, null=True, related_name=’assignee’)

      در مثال بالا در جدول فهرست اختراع ها، یک فیلد مخترع (inventor) داریم که وصل هست به جدول کاربران (Users) و یک فیلد وکیل که این هم وصل هست به جدول کاربران. حالا در جدول کاربران شما اگر بخواهید فهرست اختراع‌هایی که اون کاربر داشته رو بیرون بکشید با منیجر Users.objects.inventor میشه. در مورد اون اختراع‌هایی که یک کاربر نقش وکیل رو داشته هم با دستور Users..objects.assignee میشه.

  76. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد.
    استاد یک نظر و ایده. استاد شما اگه مطالبی که در سوالات جنگو کورا کالج وجود دارد رو تدریس کنید کمک خیلی بزرگی در پیشرفته ما در این زمینه کردید. استاد سوالات خیلی سخت هستش اصلا تا قبل از اینکه شما سوال رو بخونید از روی تعداد حلش این رو میشه متوجه شد. امیدوارم این پیشنهاد ایده خوبی به شما بده. ممنون از شما استاد بزرگوار.

    • مصطفی آصفی

      سلام به شما. روی این موضوع حتما فکر می کنم ولی با توجه به این که هنوز در موضوعات کلان (مباحث کلان جنگو) هنوز به جای خوبی نرسیدیم اجازه بدین اول دوره های شبکه اجتماعی و اگر خدا بخواد بحث فروشگاه رو به جایی برسونیم بعد بریم روی جزئیات در هر بخش.

  77. Abolfazl Hassan Zade (خریدار محصول)

    • مصطفی آصفی

      سلام به شما. ببینید سوال کلی پرسیدن شما رو تنبل می کنه. لطفا تلاش خودتون رو بکنید و به صورت موردی اگر ایرادی داشتید مطرح کنید.

  78. Abolfazl Hassan Zade (خریدار محصول)

    سلام استاد. استاد لطفا یک توضیح درباره ی تابع کپی در این سوال به ما میدید.

  79. incodeir

    سلام وقت بخیر
    شما توی این دوره پکیج taggit رو آموزش دادید
    ولی نگفتید چطوری توی پنل ادمین وقتی داریم تگ ها رو وارد میکنیم یعنی تگ هایی که از قبل ثبت شده رو برامون به صورت لیست نمایش بده
    مثل این پکیج
    https://github.com/chhantyal/taggit-selectize
    حداقل یه مبحثی رو میگید کامل باشه
    امکانش هست این مبحث رو هم آموزش متنی یا ویدویی بدید
    با تشکر

    • مصطفی آصفی

      سلام به شما. ممنون از پیشنهاد خوبتون. انشالله در آموزش های بعدی به اقتضای موقعیت امکانات تکمیلی در این مورد رو عرض می کنم.

  80. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد.
    استاد یه سری نکته درابطه با قسمت درباره ما در سایت ها میگید.
    مثلا چی بنویسیم، چه جوری بنویسیم، از کجاها بگیم و ….. خلاصه از تجربه های خود ما رو بی نصیب نکنید. با تشکر.

    • مصطفی آصفی

      سلام به شما. اگر در مورد وبسایت شخصی مورد نظرتون هست. در وهله اول شفاف باشید. هر چه هستید رو بنویسید و توانایی ها رو دقیق فهرست کنید. از روحیه کار حرفه ای خودتون هم بگید. مخاطب رو دو دسته تصور کنید:‌1- کارفرمای ناآگاه به وب 2-همکاران آگاه به وب
      طوری بنویسید که هر دو دسته بتونن شما رو به خوبی بشناسن.
      مثلا: ابوالفضل حسن زاده هستم؛ طراح وب به زبان پایتون و فریمورک جنگو. کار تیمی رو خیلی دوست دارم و از اجرای ایده های تازه در توسعه وبسایت ها استقبال می کنم.
      هدفم از توسعه وبسایت با جنگو استفاده از الگوریتم های یادگیری ماشین و داده کاوی پایتون در قلب سرور و وبسایت هاست. و …

  81. Abolfazl Hassanzade (خریدار محصول)

    البته بعد از اعمال فیلتر کلا 14 سوال شما نشان میدهد.

    • مصطفی آصفی

      سلام به شما. باعث خوشحالیه که نگاه هم رویشی دارین. امیدوارم دوستان استفاده کنن. و حتی مدت‌ها بعد که سر بزنن این خودش انتقال تجربه بسیار خوبیه

      پی‌نوشت‌: وبسایتتون رو هم مجدد دیدم بسیار تغییر خوبی کرده بود. تصویر خودتون سایت رو چشم گیر کرده بود. آفرین

  82. Abolfazl Hassanzade (خریدار محصول)

    ببخشید دقیقا این جا 🙂

  83. Abolfazl Hassanzade (خریدار محصول)

    سلام به همه هنرجویان هم رویش و استاد آصفی.
    این جا شما میتونید تا 7 آذر درباره جنگو تمرین کنید.
    کلا 14 سوال داره.
    موفق باشید.

  84. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد ۷ آذر کورا کالج مسابقه گذاشته درابطه با جنگو.
    میشه توضیح بدید که رو کدوم بخش جنگو بیشتر کار کنیم و چه جور سوالاتی در مورد حوزه فرم ورک میاد با تشکر.

    • مصطفی آصفی

      در این مورد بنده تجربه ای ندارم. اما خیلی خوبه اگه تحقیق کردید اونچه متوجه شدید رو اینجا مجدد بگذارید که نفرات بعد از شما استفاده کنن.

  85. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد. یک سوال فنی برای ما که حدود دو سال هست با جنگو اشنا شدیم و داریم یکسره تمرین میکنیم، تو یه فرم استخدام حقوق مورد انتظار رو چقدر وارد کنیم خوبه که هم تراز توقع طرف مقابل باشه. چون اگه بالا پایین بگیم یه سری اتفاقات خاص میفته که شما خودتون بهتر میدونید. حالا یه راهنمایی به ما بکنید ممنون میشیم یا حق.

    • مصطفی آصفی

      سلام به شما. ببینید در مورد حقوق اگه سابقه کار ندارید زیاد سخت نگیرید. اگر مجموعه مجموعه خوبیه و کارای جدی دارن و جای پیشرفت داره به جای بحث مالی بیشتر روی تعامل خوب کار کنید. کارتون دقیقا چی هست؟ این رو براتون مشخص کنن و بعد با خودتون بسنجید نسبت به کاری که می کنید چه جنبه هایی از شرکت شما رو به لحاظ فنی و حرفه ای پیشرفت میده.
      اگر هم مجموعه کوچیکی هست و شما هم قرار استخدامی کار کنید همون طبق پایه کارگری قانون کار بگید باهاتون شروع کنن. البته اگه سابقه کار شرکتی ندارید تا به حال. با این شروع کنید بعد کم کم می تونید بهتر کنید. البته برای تهران و شهرستان های بزرگ که مخارج بالا هست اگه مجبور به رفت و آمد هستید کمی بیشتر مطالبه کنید. پایه حقوق قانون کار امسال و در گوگل جستجو کنید.
      مهم تر از همه اگه شرکت براتون بیمه رد کنه بسیار عالیه. سابقه کار دارای بیمه موضوع بسیار جذابیه که در آغاز راه میشه یک بخشی از دستمزد رو فدا کرد.
      آخرین نکته هم این که قرارداد رو برای شروع کار حداکثر سه ماهه ببندید.

  86. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد این اموزش هم تمام شد ما تا اموزش بعدی و یادگیریه مفاهیم جدید این هارو تمرین میکنیم.
    بسیار ممنون از شما و سایت هم رویش.
    استاد لطفا در اموزش های بعدی جنگو از روش class_based نویسی در ویو بیشتر استفاده کنید.مثلا من خودم در حین تمرین از مستندات و یه سری سایت های دیگه تونستم از DetailView برای نمایش اطلاعات یک پست استفاده کنم ولی نتونستم برای handle کردن فرم استفاده کنم یعنی منطق رو متوجه نشدم. اگر این جور موارد رو نیز به ما بیاموزید خیلی عالی میشه چون کلاس بیس نویسی اصلا کداش هم تمیز تر هم به قول شما رویه اصولی تره با تشکر. 🙂

    • مصطفی آصفی

      سلام به شما. آفرین به شما. همین که حرفه ای در حال جستجو هستید بسیار خوشحالم. بحث Class-based View بحث بسیار مهمیه. انشالله یک دور که پروژه ها رو بتونیم به جایی برسونیم که انواع سایت ها رو فراگیرها تجربه کنن. انشالله مباحث حرفه ای تر رو عمری باشه پیگری می کنم.

  87. رضا

    قسمت دسته بندی و زیر دسته بندی رو اصلا نگفتید

    • مصطفی آصفی

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

      و اما از نگاه تدریس؛ دقت کنید که جنگو دنیای وسیعی داره و ما در هر آموزش پروژه محور بخشی از امکانات رو هدف می گیریم که فراگیر آشنا بشه.
      در آموزش مقدماتی جنگو (+) ما در واقع دسته و زیردسته (Topic – Entity) رو صحبت کردیم. حتی این که افراد دیگه بتونن بیان و عضو نویسنده سایت بشن. شما با توجه به نحوه پیاده سازی سیستم هشتگ که در این آموزش گفته شده و اون بحث تاپیک در اون آموزش می تونید دسته و زیر دسته اضافه کنید.

      من سعی می کنم هر آموزش پروژه محور به بهانه موضوع خودش تعدادی از امکانات جنگو رو به دانسته کاربر اضافه کنه. مثلا در این آموزش بحث انتشار آنلاین، بحث ارسال آنلاین ایمیل، بحث پایگاه داده پوستگرس و … رو داشتیم. طبیعتاً خلاق بودن در کار با مدل ها (مثل ایجاد یک مدل برای دسته بندی و اتصال اون به مطالب) و حتی تغییر ساختار برنامه و پیاده سازی فکرهاتون با شماست.

  88. مهدی

    سلام آقای آصفی

    قبلاً گفته بودید یه سایت فروشگاهی مثل دیجی کالا
    با پایتون میسازید
    انشاالله کی این آموزش در سایتتون قرار میگیره

    • مصطفی آصفی

      سلام به شما. همون طور که پایین تر هم خدمت دوستانتون گفتم به جای تعریف یک پروژه طولانی در قالب چند پروژه رفته رفته مفاهیم رو کامل می کنیم. مثلا در این آموزش ارسال ایمیل و ارسال به هاست ایرانی و پایگاه داده PostgreSQL گفته شده. یک آموزش هم این روزها در دست تکمیل هست که یک سایت شبکه اجتماعی شبیه اینتساگرام با جنگو می سازیم و مفاهیم تازه ای رو یاد می گیریم (انشالله آبان ماه منتشر میشه) و بعدانشالله یک پروزه فروشگاهی.

      پی‌نوشت: متوجه هستم که شما و دوستان عجله دارید برای شبیه سازی وبسایت فروشگاهی اما بنده تلاشم این هست که یک مسیر استاندارد و شناخت گام به گام و عمیق و در همین حال، شیرین رو برای شما و دوستان نسل بعدی به جا بگذاریم.

  89. elahe

    سلام و خسته نباشید اقای آصفی امیدوارم حالتون خوب باشه و پر انرژی باشید اول بگم اموزشاتون عالیه همچنین کل اموزشای همرویش خیلی خوب عالی ثب شدن
    ببخشید یه سوالی دارم من تقریبا اموزشو تموم کردم و خیلی خوب همه مفاهیم رو متوجه شدم و یه وبلاگ ساختم و اپکانات دیگه ای هم بهش اضاف کردم فقط یه مشکلی هست که تو اون قسمت نصب و راه اندازی پوسگراسکیوال گیر کردم یخورده چون ویندوزم 7 هستش و وقتی پوسگراسکیوال رو نصب کردم با اینکه اون چیزی که گفتید از سی پلتس پلاس رو اگه ندارید خودش نصب میکنه رو نداشتم به نصب ادامه داد پوسگراسگیوال و بعد نصب هم مشکلی نداشت رفتم داخل path هم اضافش کردم ولی متاسفانه کقتی تو cmd میزنم psql شناسایی نمیکنه و میگه این دستور نه داخلیه نه خارجی اگه میشه کمک کنید جون نمیدونم مشکلش چیه ولی یه فرض دارم که یعنیدممکنه چون لپتاپ دوتا یوزر داره مشکل داشته باشه؟اگه کمک کنید خیلی مپنون میشم.

    • مصطفی آصفی

      سلام و ممنون از آرزوی خوب شما و همچنین.
      در مورد خطای psql not recognized علت همون نیاز به افزودن psql به Environment Variables هست. دقت کنید که مسیر فایل اجرایی رو به طور کامل و دقیق باید به متغیر Path در بخش System variables اضافه کنید. معمولا یک مسیری شبیه زیر هست:
      C:\Program Files\PostgreSQL\11\bin\
      شماره 11 ممکنه متفاوت باشه با نسخه های متفاوت.

      ضمنا دقت کنید که بین آخرین نشانی و نشانی اجرایی psql در فهرست path نباید فاصله گذاشته باشید. دقیقا ; به آدرس قبلی بچسبه و بعد هم آدرس اجرایی psql
      و باز ضمنا هر دو مسیر lib و bin رو هم به مسیر اضافه کنید:
      C:\Program Files\PostgreSQL\11\bin;C:\Program Files\PostgreSQL\11\lib

  90. محمد متین محمدی

    استاد واقعا درجه یکه آموزش هاتون عالیه کسانی که شک دارند تهیه کنن که اصلا و ابدا صرر نمیکنید…

    خیلی خوشحالم که با هم رویش آشنا شدم
    خدا اجرتون بده 🙏🙏🌹🌹

    • مصطفی آصفی

      سلام و ممنون از محبت شما. خدا رو شکر اگه این آموزش انگیزه بخش و مثمرثمر بوده باشه. انشالله که موفق باشید.

  91. Asghar

    آقای آصفی سلام خسته نباشید خیلی خوب بود واقعا اندروید رو با شما شروع کردم(کاتلین) واقعا عالی بود تا الان که پایتون و جنگو استاد میگم الان وبلاگو ساختم و مثل آموزش آپلودش کردم و خودم یه بخش هایی رو هم بهش اضاف کردم ولی خواستم نظرتون رو بابت چندتا چیز بپرسم که راهنماییم کنید در ادامه چیکار کنم استاد خواستم بدونم این که یه اپ جدید بسازیم و داخل فایل views اپ جدید از فایل models یه اپ دیگه کلاس هایی رو اینپورت کنم استاتدارده این کار؟!
    و اینکه میدونم تقاضای زیادیه ولی فقط اگه سراغ داشتید آموزش یا مقاله ای واسه ساختن محاسبه گر بازدید با جنگو که امار بازدیدو حساب کنه هم معرفی کنید یا حتی خودتون بسازید اموزشو فک کنم با استقبال خوبی مواجه بشه.
    کلا هروقت سردرگمی دارید به همرویش سر بزنید و خیالتون از لحاظ کیفیت آموزش راحت باشه آموزش های این سایت هیچجا پیدا نمیشه👌

    • مصطفی آصفی

      سلام و ممنون از محبت شما. در مورد سوال اولتون بله ایرادی نداره فراخوانی کنید مدل ها رو.
      در مورد آمار بازدیده کننده و اصولا اغلب نیاز های متداول یادتون باشه که جنگو جامعه اپ های جانبی خوبی داره. همیشه با کلید واژه django app + WhatYouWant می تونید موارد خوبی پیدا کنید. برای مثال این اپ آمار بازدید جنگو (+) یا این اپ تحلیل جنگو (+) رو در مورد سوالتون ببینید. این اپ ها برای استفاده و نمایش در داخل خود یک وبسایت هستند.
      اما در نگاه یک مدیر سایت، یادتون باشه که وبسایت های جنگو هم مثل وبسایت های دیگه امکان اتصال به Google Analytics دارند که ابزارهای تحلیلیش قطعا بسیار بهتر از اپ های موردی هست.

  92. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد من توسط آموزش جنگو با سایت شما آشنا شدم اون اموزش رو دیدم حتی یک وبلاگ برای خودم بالا اوردم رفتم چند تا اموزش دیگه درباره پایتون از سایت شما خریداری کردم. پایتون مقدماتی رو با توضیحات شما بعد از وبلاگم دوباره دیدم که پایه رو تقویت کرده باشم و بعد از اون که به شما گفتم سایت فروشگاهی تدریس کنید منتظر موندم. تا دیدم این اموزش منتشر شده درجا دریافتش کردم ولی اصلا حوصله ام مثل یادگیری جنگو نمیکشه که نگاه کنم بادقت، تمرین کنم به دفعات زیاد، قسمت به قسمت بیام جلو. من از شما میخوام که یک راهنمایی به ما هنرجویان هم رویش بکنید که دوباره اون پشتکار رو بدست بیاریم و به چیز جدید یاد گرفتن علاقه پیدا کنیم ممنون.

    • مصطفی آصفی

      سلام به شما. ببینید حس شما کاملا طبیعیه. شما بعد از دیدن آموزش ذهنتون به دنبال خلاقیته. بعد مجدد آموزش تازه طلب می کنه.
      الان شما باید سراغ طراحی یک سایت یا اپ تحت سرور جنگویی برید (هر کدوم که علاقه دارید).
      یا یک سایت برای خودتون طراحی کنید. مثلا یک سایت شخصی برای خودتون. این سایت یک بخش معرفی خودتون رو داشته باشه و یک بخش مقاله ها. با آموزش جنگو (+) و این آموزش پروژه محور جنگو می تونید این سایت رو بزنید. بعد روی تمپلت و فارسی سازی کار کنید. سعی کنید مشکلات رو حل کنید. بعد به مواردی می خورید که به راحتی نمی تونید حل کنید. مثلا نمایش عکس و فیلم در سایت که انشالله در آموزش پروژه محور شبکه اجتماعی با جنگو طی این ماه منتشر میشه. اون وقت هست که آموزش های جدید براتون لذت داره.

      یا می تونید یک اپ برای خودتون طراحی کنید با بک اند جنگویی. این آموزش کیوی (+) رو ببینید. در بخش آخر خوندن API از سرور توضیح داده شده. حالا API رو چطور آماده می کنید؟ با دیدن این آموزش Django REST (+) و شناختی که فعلا از خود جنگو دارید. مثلا یک اپلیکیشن ساده نمایش محصولات تعریف کنید. با کیوی بزنید بخش اندروید رو و بخش سرور و API رو هم با Django REST.
      بعد از دیدن آموزش در برنامه نویسی یک دگردیسی لازمه. یک پروژه که باید تعریف بشه و روزها و هفته ها سختی بکشید برای این که از فراگیر تبدیل به کننده کار تبدیل بشید. اگر این بازه رو صبر کردید و تلاش کردید دگردیسی کامل میشه و بعد از اون آموزش های بعدی رو فقط با هدف پیشبرد پروژه ها و با نگاه حرفه ای ها نگاه می کنید.

  93. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد لطفا یک اموزش درباره django analytical ارائه کنید. ما که هرچی این سند رو خوندیم متوجه نشدیم. ممنون از سایت خوبتون.

    • مصطفی آصفی

      سلام به شما. چشم یادداشت کردم. البته چند دوره به خصوص بحث یادگیری ماشین رو در دست تهیه دارم ولی سعی می کنم در آینده یک آموزش کوتاه و مستقل در این مورد داشته باشیم.

  94. محمدرضا گوشکی

    سلام استاد خسته نباشید اموزش هاتون عالیه انشالله موفق باشید

    • مصطفی آصفی

      سلام و سپاس که برای ابراز محبتتون وقت گذاشتین. انشالله که تاثیری در آینده حرفه ای شما داشته باشه.

  95. فرید

    سلام. عناوین عالی هستن. البته من تقریبا به تمام عناوین مسلط هستم فقط در حذف duplicate مشکل دارم (متد distinct هیچ تاثیری نداره برای من !!! )

  96. مهدی توسلی

    انصافا آموزش هاتون بهینه و بدون هیچ اضافه گویی هست و مطالب کامل پوشش داده میشه، در حین آموزش آدم متوجه میشه که چقدر وقت گذاشتید برای هر قسمت، واقعا خداقوت

    • مصطفی آصفی

      سلام و ممنون که برای ابراز محبت خودتون وقت گذاشتید. باعث خوشحالیه که تجربه آموزشی خوبی با این دوره داشتید. انشالله که در آینده حرفه ای شما جایی داشته باشه.

  97. Abolfazl Hassanzade (خریدار محصول)

    سلام استاد. بسیار ممنون بابت تلاش هاتون که سعی میکنید ما یعنی هنرجویان هم رویش راضی باشیم. بنده خیلی خوش حال هستم که با هم رویش اشنا شدم و دارم از این اموزش های با کیفیت لذت می برم. استاد یک اموزش جاوا اسکریپت هم در هم رویش منتشر کنید جای خالیش در هم رویش خیلی احساس میشه. ممنون که به ما هنرجویان توجه میکنید.

  98. Abolfazl Hassanzade

    سلام استاد به قول یارو گفتنی چشممان به در خشک شد ولی ایول دست شما درد نکنه ما منتظر بقیش هم هستیم. لطفا زودتر. به خدا صبر یعقوب نبی اینقدر به طول نینجامید.

    • مصطفی آصفی

      سلام به شما. در کنار توضیحی که پایین برای دوستتون دادم لطفا به این دقت کنید که حقیقتا ضبط با کیفیت کار پرزحمت و زمان بری هست. من گاهی یک درس رو تا 40 مرتبه ضبط و نیمه کاره قطع می کنم تا به بهترین ضبط برسم.
      با این حال همه سعی رو می کنم که انشالله موارد بعدی در زودترین زمان ممکن منتشر بشن.

  99. احمد

    سلام
    قرار بود یه سایت جامع با جنگو مثل سایت خرید وفروش و یا سایت خدماتی ارائه بدین .
    ما هنوز منتظریم

    • مصطفی آصفی

      سلام به شما. موضوعات حرفه ای متنوعی در کار حرفه ای روزانه مطرح هستن که سعی می کنیم در قالب چند پروژه به مرور آموزش داده بشن به جای یک بسته جامع.
      برای مثال بحث ارسال ایمیل، بحث الگوریتم trigram در جستجوی هوشمند یا بحث مهاجرت به پایگاه داده Postgres در این پروژه کار شدن. طبیعتا در دوره بعدی که احتمالا یک شبکه اجتماعی شبیه اینستاگرام خواهد بود یا دوره پس از اون که می رسیم به سیستم فروشگاهی، با فرض این که فراگیر این ها رو می دونه می شه مباحث تازه ای رو مطرح کرد و ضمنا از طولانی شدن بیش از حد کار جلوگیری میشه.
      اگر همه این ها در یک دوره جامع کار میشدن دوره بسیار طولانی می شد، کیفیت انرژی مدرس افت می کرد و فراگیر چون زود به جمع بندی نمی رسید در نیمه راه دقتش کم می شد.

دیدگاه خود را بنویسید