مدت :

۱۵ ساعت و ۴۵ دقیقه

قیمت : ۳۸۶,۰۰۰ تومان
LinkedIn
Twitter
Facebook
Telegram

درباره مدرس 

اطلاعات دوره

توضیحات

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

این آموزش در واقع شامل سه فصل زیر است که پیش از این به صورت مستقل نیز منتشر شدند:

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

 

جنگو و اینستاگرام

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

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

بعد از ساخت این پروژه و دیدن این آموزش Django REST ممکن است بخواهید این پروژه را به یک اینستاگرام واقعی مبتنی بر API تبدیل کنید.

 

در این پروژه می‌آموزیم:
  • ثبت نام با گوگل و فیسبوک
  • پیاده سازی https در جنگو
  • کار با عکس در جنگو
  • جاوا اسکریپیت در جنگو
  • مفهوم jQuery و کار با آن
  • مفهوم AJAX و کار با آن
  • امنیت جنگو و مفهوم حمله CSRF
  • ارتباط OneToOne و OneToMany و ManyToMany در دیتابیس
  • کار با Redis و ساخت پایگاه داده موقت در جنگو
  • استفاده از Signals در جنگو
  • کار با ContentTypes و GenericForeignKey
  • مفهوم دیتابیس نرمال و غیرنرمال سازی

 

این آموزش پیشرفته جنگو در یک نگاه

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

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

در سومین فصل به ارتباط کاربران می‌پردازیم. این که کاربران چطور همدیگر را دنبال (Follow) کنند. روی بهینه سازی دیتابیس برای بهبود کوئری ها و دستورات JOIN کار می‌کنیم. با ردیس کار می‌کنیم و دیتابیس سریع و موقت برای ثبت بازدید عکس‌ها هم می‌پردازیم.

 

این آموزش بی‌نظیر است زیرا:
  • یک آموزش پروژه محور Django 3 را پیش می‌بریم.
  • مدیریت کاربران را می‌آموزید که برای هر سایتی نیاز است.
  • در پایان یک شبکه اجتماعی با عملکرد واقعی دارید.
  • تمام کدها را با مفهوم کامل می‌آموزید و سورس کد هم خواهید داشت.
  • ترکیب جی کوئری و ایجکس در جنگو را می‌آموزیم.
  • در مورد امنیت جنگو در برابر حمله CSRF می‌آموزیم.
  • کار با فرانت اند و جاوا اسکریپت در جنگو را می‌آموزیم.
  • نگاه حرفه‌ای تری به بهینه سازی دیتابیس پیدا می‌کنید.
  • ساخت دیتابیس با Redis در RAM را می‌آموزید.
  • با اپ های auth و contentypes و signals و … در جنگو آشنا می‌شوید.

 

پیشنیاز

آموزش جنگو – شروع برنامه نویسی وب با پایتون

آموزش ساخت وبلاگ با Django و PostgreSQL و انتشار آنلاین

 

کلیدواژگان

آموزش django – آموزش پروژه محور جنگو پیشرفته – آموزش حرفه ای dajngo 3 – ساخت اینستاگرام با جنگو – ساخت شبکه اجتماعی با جنگو – آموزش jQuery – آموزش AJAX – آموزش Redis – فرانت اند در جنگو – ورود با جیمیل و فیسبوک – کار با عکس در جنگو – مبارزه با حمله CSRF – کار با دیتابیس

سرفصل‌ها

سرفصل‌ها

فصل اول – اعتبارسنجی کاربران

درس صفر: معرفی دوره
– پیشنیاز این آموزش
– ویژگی های این آموزش
– نگاهی به دوره و محتوای آن
– مسیر پس از این آموزش

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

درس دوم: ایجاد صفحه ورود
– آشنایی با Django Authentication Framework
– آشنایی با اپ auth از contrib جنگو و کار آن
– مفهوم Middleware چیست؟
– مفهوم User Authentication
– مفهوم Session چیست؟
– فرآیند ایجاد Session ID و ارسال به Cookie
– مفهوم Permission چیست؟
– مفهوم User Groups چیست؟
– ایجاد فرم لاگین یا LoginForm با ارث‌بری از کلاس Form جنگو
– کار PasswordInput در فرم جنگو و رندر آن به type=password در html
– ایجاد تابع view برای پردازش فرم و دریافت اطلاعات کاربر
– کار تابع authenticate و کار تابع login از اپ auth جنگو
– استفاده از کلاس HttpResponse در جنگو
– نگاشت url با تابع path و include
– ایجاد یک کاربر آزمایشی به وسیله پنل مدیریت
– ایجاد کاربر مدیر با دستور manage;py createsuperuser
– بررسی صحت عملکرد صفحه login

درس سوم: آشنایی با Viewهای آماده اپ Auth
– آشنایی با نقش View های آماده در سیستم authentication جنگو
– مروری بر View های آماده ماژول views از اپ auth
– کار LoginView و LogoutView
– کار PasswordChangeView و PasswordChangeDoneView
– کار PasswordResetView و PasswordResetConfirmView
– نگاهی به صفحه مستندات جنگو برای اپ auth

درس چهارم: ساخت صفحه ورود و خروج با View های آماده اپ Auth
– رفع خطای unresolved reference django در pycharm
– فراخوانی ماژول views اپ auth و استفاده از LoginView و LogoutView
– شخصی سازی ویوهای اپ auth و جایگزینی تمپلت ها
– آشنایی با AuthenticationForm در LoginView و ویژگی‌های آن
– مفهوم پارامتر next در جنگو و LOGIN_REDIRECT_URL
– تنظیم LOGIN_URL و LOGOUT_URL در تنظیمات پروژه
– استفاده از دکوریتور login_required از decorators در اپ auth
– ریدایرکت کاربر از صفحه لاگین پس از ورود موفق
– اصلاح تمپلت base.html برای نمایش منوها بر اساس selection

درس پنجم: ساخت فرم تغییر گذرواژه کاربر
– نگاشت url مربوط به PasswordChangeView در اپ account و متد path
– نگاشت url صفحه redirect کاربر بعد از تغییر پسورد در جنگو
– شخصی سازی تمپلت صفحه های تغییر پسورد و اجرا و تست پروژه

درس ششم: صفحه بازنشانی گذرواژه کاربر
– مفهوم بازنشانی یا بازیابی گذرواژه reset password
– افزودن url های لازم و view های لازم از اپ auth
– افزودن فایل‌های html اختصاصی به پروژه جنگو
– افزودن گزینه فراموشی رمز عبور به فرم لاگین
– تنظیم EMAIL_BACKEND برای ارسال ایمیل لوکال
– اجرای پروژه و تشریح گام به گام فرآیند ارسال توکن و بازیابی گذواژه
– جایگزینی django.contrib.auth.urls با متد include به جای path موردی
– نکته و تمرین برای تبدیل از فراگیر جنگو به برنامه نویس جنگو

درس هفتم: ساخت فرم ثبت نام کاربر
– ایجاد کلاس RegisterForm از نوع ModelForm
– بررسی کلاس User اپ Auth و استفاده به عنوان مدل فرم
– تنظیم کلاس متا Meta برای فرم به منظور تخصیص مدل و فیلدها
– مفهوم ویژگی model و fields در ModelForm ماژول forms
– تعریف فیلد اختصاصی در مدل فرم برای گذرواژه و تایید آن
– مفهوم تابع clean و clean_field در جنگو
– استفاده از ValidationError در هنگام خطا در اعتبارسنجی مدل
– تعریف view و url و template برای صفحه ثبت نام
– افزودن گزینه ثبت نام یا register به صفحه ورود
– اجرای پروژه و مرور فرآیند و تمرین

درس هشتم: ساخت پروفایل اختصاصی کاربر
– بسط مدل User از اپ auth
– آشنایی با ماژول settings از django.conf
– کار و مفهوم ویژگی AUTH_USER_MODEL در تنظیمات پروژه
– آشنایی با ارتباط OneToOneField در دیتابیس
– آشنایی با فیلدهای DateField و ImageField در Django
– کار پارامتر upload_to در کار با فایل و تصویر در جنگو
– تعریف مسیر ذخیره فایل در جنگو
– مفهوم MEDIA_ROOT و MEDIA_URL در Django
– رفع مشکل نمایش URL عکس با تنظیم static در حالت DEBUG
– استفاده از کلاس ModelAdmin برای ثبت نام کاربر در پنل مدیریت
– ساخت دستورات مهاجرت دیتابیس با makemigrations
– ایجاد جدول پروفایل ها در دیتابیس با migrate و بررسی نتیجه

درس نهم: صفحه ویرایش پروفایل کاربر
– تعریف صورت موضوع
– ایجاد فرم های ویرایش اطلاعات کاربر
– ویرایش تابع ایجاد کاربر برای ایجاد پروفایل همزمان
– کار با تابع create از objects برای ایجاد رکورد یا سطر در دیتابیس
– آشنایی با پارامترهای سازنده constructor کلاس ModelForm
– مفهوم پارامتر instance و data و files
– رندر همزمان دو فرم در html
– مفهوم اتریبیوت enctype در html
– معنی multipart/form-data در فرم و متد post
– اجرای پروژه و ساخت کاربر فرضی
– تست فرم ویرایش پروفایل
– بارگذاری عکس در جنگو

درس دهم: کار با Message Framework
– مفهوم one-time notification message یا Flash message
– معرفی فریمورک نمایش پیام در جنگو
– کار MessageMiddleware
– مفهوم تابع context_processors در جنگو
– افزودن پیام به فرم ویرایش پروفایل با تابع messages_add
– تفاوت تابع messages_add و success یا error مستقیم
– سطح پیام DEBUG و SUCCESS و ERROR و WARNING و INFO
– استفاده از فریمورک messages در Class-based View
– روش های ذخیره سازی پیام SessionStorage و CookieStorage
– مفهوم ذخیره کوکی به روش FallbackStorage و متغیر MESSAGE_STORAGE

درس یازدهم: امکان ورود کاربر با ایمیل
– توضیح در مورد این که چطور آموزش ببینیم که خسته نشویم!
– مفهوم AUTHENTICATION_BACKENDS در Django
– شرح فرآیند authenticate از روی سورس جنگو
– ایجاد یک Backend اختصاصی برای اعتبارسنجی از روی ایمیل
– کلاس ModelBackend و متدهای آن
– تنظیم AUTHENTICATION_BACKENDS در settings پروژه
– اجرا و آزمایش پروژه

درس دوازدهم: اعتبارسنجی کاربران از روی حساب آن‌ها در شبکه‌های اجتماعی
– آشنایی با اپلیکیشن Python Social App
– نصب social-auth-app در پروژه جنگو
– تنظیمات اپ social_django و مهاجرت دیتابیس
– تنظیم نام mysite.com برای لوکال هاست در ویندوز
– اجرا و آزمایش پروژه روی hostname جدید لوکال هاست

درس سیزدهم: ایجاد اتصال HTTPS در جنگو — روی localhost و حالت Development
– آشنایی با RunServerPlus و نصب آن
– نصب Werzeug برای افزودن لایه دیباگ در اجرای runserver_plus
– نصب pyOpenSSL به منظور ایجاد SSL/TLS در اتصال امن
– راه اندازی پروژه با دستور python manage.py runserve_plus
– غیرفعال کردن اخطای unsafe مرورگر و نمایش سایت با اتصال https

درس چهاردهم: پروتکل HTTPS چیست؟ گواهی SSL چیست؟
– تعریف HTTPS مخفف Hyper Text Transfer Protocol Secure
– چرا باید از https استفاده کنیم؟
– معنی Encryption چیست ؟
– تاریخچه رمزگذاری – رمز سزار – رمز جفرسون – ماشین انیگما
– داده های دربند یا Data at rest
– داده های در جریان یا Data in transit
– رمز گذاری Transport layer encryption یا Transport layer Security
– فرق SSL و TLS و تاریخچه توسعه آن‌ها
– رمزگذاری متقارن یا Symmetric encryption چیست ؟
– رمزگذاری نامتقارن یا Asymmetric encryption چیست ؟
– تفاوت Public Key و Private Key در https چیست ؟
– مردی در میان Man-in-the-middle یا ماشینی در میان Machine-in-the-middle
– گواهینامه SSL/TLS چیست ؟ SSL یا TSL ؟
– انواع گواهینامه SSL تک دامنه و چند دامنه
– فرآیند دست تکان دادن سرور-کلاینت یا Server-Client Handshake در https
– نقش الگوریتم RSA در رمزگذاری SSL و پروتکل HTTPS
– کتابخانه OpenSSL چیست و PyOpenSSL چیست ؟
– شرح عملکرد runserver_plus در ایجاد اتصال https در جنگو

درس پانزدهم: ثبت نام و ورود کابران با اکانت گوگل
– شرح کلی فرآیند اعتبارسنجی با OAuth
– معرفی مستندات گوگل برای پیاده سازی OAuth 2.0
– بررسی اپ Python Social Auth برای ورود با گوگل و …
– تنظیم social_core.backends.google.GoogleOAuth2 در پروژه
– ثبت نام در Google Developers Console و ایجاد پروژه
– ایجاد Credentials و تنظیم Oath Consent Screen
– فعال سازی Google plus در بخش Library
– تنظیم SOCIAL_AUTH_GOOGLE_OAUTH2_KEY برای کلید API
– تنظیم SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET بر اساس Google API
– ایجاد دکمه لاگین و لینک به API اعتبارسنجی گوگل
– تنظیم Authorized Domain و Redirect URL برای بازگشت کاربر از اعتبارسنجی
– آزمایش برنامه و ثبت نام کاربر بر اساس شناسه جیمل در جنگو
– طرح مراحل ثبت نام و ورود کاربر با اکانت فیسبوک
– تمرین برای ورود کاربر با اکانت توییتر

درس شانزدهم: جمع‌بندی و نگاهی به آینده
– نگاهی به آنچه در این فصل آموختیم
– نگاهی به آنچه در فصل بعد می‌آموزیم

 

فصل دوم – اشتراک گذاری عکس

درس صفر (فصل 2): این فصل در یک نگاه
– در پایان این آموزش چه خواهیم داشت؟
– پیشنیاز این آموزش
– مخاطب این آموزش
– نگاهی به آنچه گفته شد
– منبع آموزش

درس هفدهم: ساخت مدل Image برای تصاویر کاربر
– ساخت اپ images و افزون به INSTALLED_APPS پروژه جنگو
– ساخت مدل Image در ماژول models.py اپ mages
– ایجاد ارتباط یک به چند در پایگاه داده بین تصاویر و کاربران
– ایجاد ارتباط چند به چند در پایگاه داده بین پسندها و کاربران
– مفهوم ارتباط ManyToMany و تابع ManyToManyField جنگو
– مفهوم related_name و مفهوم db_index در جنگو
– بازنویسی یا Override متد save از کلاس مدل
– ایجاد خودکار slug با متد slugify ماژول text در djnago
– مهاجرت پایگاه داده و بررسی جدول های ایجاد شده

درس هجدهم: ایجاد فرم اشتراک گذاری تصویر
– ایجاد فرم با ارث بردن از ModelForm
– آشنایی با اتریبیوت widgets در کلاس Meta
– آشنایی با ویژگی forms.HiddenInput
– ایجاد متد clean_url برای اعتبارسنجی مضاعف URL
– استخراج پسوند عکس با تجزیه استرینگ با rsplit پایتون
– تفاوت rsplit(“.”, 1) با rsplit(“.”) دو یا یک پارامتری
– متد save از کلاس ModelForm جنگو
– متد urlopen از request ماژول urllib پایتون
– ایجاد فایل در پایتون با ContentFile
– الگوی ذخیره موقت آبجکت با Commit=False

درس نوزدهم: ساخت ویو و تمپلت فرم بارگذاری تصویر
– گپ کوتاه پیرامون ماهیت آموزش‌ پروژه‌محور برای رفع خستگی
– ساخت ماژول urls.py اپ images
– نگاشت url فرم ساخت تصویر با متد path
– ساخت ویو با دکوریتور login_required
– پارامتر data در متدهای GET و POST فرم
– دریافت کاربر فرم از request ارسالی url
– نصب پکیج certifi برای دانلود عکس های https
– اجرا و آزمایش پروژه و افزودن تصاویر به پنل مدیر

درس بیستم: جی کوئری چیست؟
– رابطه html و css و javascript در طراحی صفحات وب
– مفهوم و کار jQuery چیست؟
– مثالی از کاربرد جی کوئری در کار با المان ها
– بررسی مستندات وب در مورد جی کوئری
– شروع کار با جی کوئری و اصول خودآموزی برای ادامه راه

درس بیست و یکم: بوکمارکلت چیست؟
– بوکمارکلت یا Bookmarklet چیست
– آشنایی با شبکه اجتماعی pinterest
– آشنایی با عملکرد بوکمارکلت یا اکستنشن پینترست
– لینک بوکمارکلت به یک url اینترنتی
– لینک بوکمارکلت به یک فایل جاوا اسکریپیت در تمپلت ها
– درک فرق بوکمارکلت و اکستنشن یا bookmarklet vs. extension

درس بیست و دوم: کدنویسی بوکمارکلت شبیه pinterest
– ایجاد تابع anonymous در جاوا اسکریپیت
– مفهوم متغیر و تابع on demand در جاوا اسکریپت
– استفاده از تابع createElement برای افزودن یک تگ
– مفهوم document و window در جاوا اسکریپت
– فراخوانی jQuery برای استفاده از متدها و سکتورهای آن
– مفهوم selector در جی کوئری و کاربرد آن
– افزودن css و html به ساختار DOM با استفاده از jQuery
– افزودن رویداد کلیک بسته شدن پنجره نمایش تصاویر
– افزودن حلقه انتخاب عکس ها در یک صفحه با متد each در جی کوئری
– افزودن تابع کلیک برای انتخاب عکس و انتقال آن به فرم شبکه اجتماعی
– اجرای پروژه و آزمایش بوکمارکلت

درس بیست و سوم: صفحه نمایش عکس
– مروری به آنچه تا اینجا انجام دادیم
– ایجاد تابع get_absolute_url در کلاس Image
– متد reverse برای ساخت پیوند یکتا در جنگو
– ایجاد path با دو پارامتر id و slug یک عکس
– ایجاد view برای نگاشت url به یک تمپلت
– یادآوری کار متد get_object_or_404 در جنگو
– ایجاد تمپلت detail.html برای نمایش جزئیات عکس
– کار بلاک with در جنگو با یک مثال دیگر
– نمایش تعداد پسند یا like یک عکس
– نمایش کاربرانی که یک عکس را پسند کرده‌اند

درس بیست و چهارم: نمایش بند انگشتی عکس
– تصویر بندانگشتی یا Thumbnail چیست؟
– چرا از تصویر بند انگشتی استفاده کنیم؟
– معرفی اپ easy-thumbnail در جنگو
– نصب و راه اندازی easy-thumbnail
– نمایش بند انگشتی عکس با تمپلت تگ thumbnail
– تنظیم اندازه کوچک کردن ، امکان برش و کیفیت تصویر بند انگشتی
– بررسی مستندات و امکانات دیگر easy-thumbnail

درس بیست و پنجم: AJAX چیست ؟
– ایجکس AJAX چیست ؟
– معنی Asynchronous JavaScript and XML
– مفهوم Asynchronous و تفاوت آن با Synchronous در برنامه نویسی
– مثال هایی از ایجکس در وب اپ ها
– تاریخچه AJAX از مایکروسافت تا گوگل
– تگ IFRAME در IE3
– بررسی یک نمونه کد ایجکسی
– آبجکت XMLHttpRequest چیست ؟
– بررسی شی XMLHttpRequest و متدهای آن
– متد send و open در ایجکس
– ویژگی های onreadystatechange و readystate و status
– مزایا و معایب AJAX و جمع بندی

درس بیست و ششم: پسندیدن like عکس – url و views
– توضیح الگوریتم پسندیدن به صورت کلی
– دکوریتور require_post از decorators.http جنگو
– کاربرد دکوریتور require_get و require_http_methods
– پیاده سازی منطق پسندیدن و نپسندیدن در ویو
– خطای 405 یا HttpResponseNotAllowed
– متدهای add و remove منیجر فیلدهای ManyToMany
– کلاس JsonResponse از http جنگو برای ارسال JSON
– فراخوانی جی کوئری در base.html
– کاربرد متد $(document).ready از جی کوئری
– مفهوم DOM یا Document Object Model
– ایجاد تمپلت تگ domready در callback متد ready

درس بیست و هفتم: حمله CSRF چیست ؟
– معنی CSRF چیست ؟
– تعریف CSRF یا Cross-site request forgery
– مثال هایی از حمله CSRF
– استفاده از منابع اصلی مانند ویکی پدیا و مقاله‌های مرجع
– روش های جلوگیری از CSRF
– مروری به مفهوم Session ID در قالب کوکی
– مروری به مفهوم Cookie . کوکی چیست و چه کاربردی دارد ؟
– انواع روش های Anti-CSRF Token
– روش الگوی توکن همگام یا Synchronizer Token Pattern
– روش الگوی تقدیم دوگانه کوکی یا Double-submit cookie Pattern

درس بیست و هشتم: امنیت جنگو در برابر CSRF
– روش های مقابله با CSRF در جنگو
– روش پیش فرض جنگو برای CSRF Token
– مدیریت CSRF در فرم ها و متد POST
– نحوه کار تمپلت تگ csrf_token
– روش مدیریت CSRF در درخواست AJAX
– مدیریت و کار با کوکی در جنگو
– متد set_cookie از آبجکت HttpResponse
– مدیریت و کار با سشن در جنگو
– محدودیت کار با کوکی از نظر امنیت و حجم داده
– ارتباط session_data و sesion_id
– منابع بیشتر برای حفظ امنیت جنگو
– خواندن کوکی مرورگر در جنگو با کتابخانه js-cookie
– تابع آزمایش متدهای safe در درخواست http
– تابع ajaxSetup در جی کوئری برای تنظیمات ایجکس
– تنظیم هدر ajax request با استفاده از jQuery
– تنظیم X-CSRFToken در ajax header

درس بیست و نهم: ارسال درخواست AJAX در جی کوئری
– یادآوری صفحه عکس ها
– استفاده از span برای اشاره عدد داخل متن دکمه
– تعریف تگ a به عنوان دکمه پسند
– کاربرد ویژگی data در تگ a
– تعریف داده های POST به صورت داده های تگ a
– پیاده سازی درخواست ایجکس
– مستندات کار با AJAX در Jquery
– متد Post جی کوئری
– دریافت تعداد و متن دکمه پسند
– به روزرسانی تعداد و متن like / unlike در جواب ایجکس
– اجرای پروژه و بررسی نتیجه

درس سی‌ام: اعتبارسنجی AJAX با دکوریتور
– آشنایی با تابع is_ajax و پارامتر HTTP_X_REQUESTED_WITH
– پرتاب خطای HttpResponseBadRequest برای request نامعتبر
– تعریف پکیج common و کاربرد فایل __init__ در پایتون
– تعریف ماژول decorators برای دکوریتورهای عمومی جنگو
– مفهوم decorator و کاربرد دکوریتور در پایتون
– تعریف دکوریتور ajax_reuired و تابع wrap داخل آن
– تعریف دکوریتور با پارامترهای نامعین و امکان return
– پارامتر __doc__ و پارامتر __name__ تابع ها در پایتون
– آزمایش پروژه و ارزیابی نتیجه در ترمینال

درس سی و یکم: صفحه بندی عکس‌ها با AJAX مانند اینستاگرام – بخش اول
– صفحه بندی اینستاگرام چطور کار می‌کند
– یادآوری معنی pagination یا صفحه بندی
– افزودن تعدادی عکس فرضی برای صفحه بندی
– نوشتن ویو در اپ عکس ها با login_required
– کلاس Paginator در جنگو
– معنی خطای EmptyPage در صفحه بندی
– معنی خطای PageNotAnInteger در صفحه بندی
– واکشی تصاویر و صفحه بندی هشت تایی
– پردازش خطاهای ممکن و انتقال فهرست عکس ها
– رندر کردن تمپلت در دو درخواست ایجکس و درخواست استاندارد

درس سی و دوم: صفحه بندی عکس با AJAX مانند اینستاگرام – بخش دوم
– افزودن گزینه آلبوم عکس ها به منو
– طراحی صفحه نمایش فهرست عکس ها
– کدنویسی جاوا اسکریپت و جی گوئری رویداد اسکرول صفحه
– آشنایی با رویداد scroll از window در جاوااسکریپت
– آشنایی با مفهوم scrollTop در جی کوئری
– فرق document و window در جاوااسکریپت
– استفاده از تابع get در جی کوئری برای درخواست ایجکس
– استفاده از تمپلت thumbnail برای نمایش بند انگشتی عکس ها

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

 

فصل سوم – ارتباط کاربران

درس صفر (فصل سوم): این فصل در یک نگاه
– نگاهی به پروژه در پایان راه
– آموزه های اصلی این فصل
– پیشنیاز و نکته‌هایی پیش از شروع

 

درس سی و چهارم: ایجاد الگوی دنبال کنندگی
– مهم ترین کار کاربر در شبکه اجتماعی چیست؟
– یادآوری معنی ارتباط چند به چند یا Many To Many
– یادآوری نحوه پیاده سازی ارتباط ManyToMany در جنگو
– ایجاد ارتباط چند به چند یک جدول با خودش
– استفاده از مدل واسط یا Intermediary Model برای ارتباط چند به چند
– ایجاد نمونه از مدل واسط با متد create از Object Manager
– چطور جدول واسط را به مدل USER وصل کنیم؟
– معنی self در فیلدهای ManyToMany
– معنی through در فیلدهای ManyToMany
– معنی Symmetrical در فیلدهای ManyToMany
– دریافت مدل User با استفاده از get_user_model
– تغییر کلاس یوزر با متد add_to_class
– معرفی منبع برای تعریف Custom User در جنگو

 

درس سی و پنجم: نمایش فهرست کاربران
– ساخت ویو برای واکشی فهرست کاربران فعال
– ساخت تمپلت برای نمایش عکس و نام کاربران
– افزودن لینک people به منوها
– افزودن پروفایل برای کاربران از پنل مدیر
– ایده برای بهتر کردن نمایش فهرست با استفاده از ایجکس

 

درس سی و ششم: نمایش صفحه اختصاصی کاربر
– استفاده از get_absolute_url برای لینک صفحه کاربر
– کاربرد ABSOLUTE_URL_OVERRIDES در Django
– کاربرد متد reverse_lazy در شخصی سازی زمان اجرا
– استفاده از متد get_object_or_404 برای کوئری
– تفاوت request.user و context.user در جنگو
– پیاده سازی تمپلت صفحه اختصاصی کاربر

 

درس سی و هفتم: دنبال کردن کاربر (بخش اول)
– بررسی الگوریتم follow user
– نکته در مورد فراخوانی دکوریتور از مسیر اصلی پروژه
– فراخوانی دکوریتور require_post
– استفاده از متد get_or_create برای ارتباط چند به چند اختصاصی
– یادآوری JsonResponse برای بازگشت جواب به ریکوئست ایجکس
– متد delete برای حذف سطر از دیتابیس جنگو
– نگاشت URL دنبال کردن کاربران
– نکته مهم در ترتیب path در urls برای جلوگیری از تداخل

 

درس سی و هشتم: دنبال کردن کاربر (بخش دوم)
– یادآوری بلوک domready
– تعریف صورت مساله در فرانت اند
– کاربرد ویژگی data در تگ a
– ارسال درخواست ایجکس با متد post در jQuery
– معنی کلیدواژه this در هندلر کلیک دکمه
– معنی تابع کالبک Callback Function
– پردازش JsonResponse در کالبک پاسخ سرور
– به روز رسانی تعداد دنبال کنندگان و متن دکمه Follow
– به روزرسانی اکشن follow / unfollow در جواب ایجکس
– اجرای پروژه و بررسی نتیجه

 

درس سی و نهم: اپلیکیشن پایش فعالیت کاربران
– نمونه هایی از Action در اینستاگرام
– تعریف صورت مساله و احتیاج به مدل
– ایجاد اپلیکشین actions
– فعال کردن اپلیکیشن در INSTALLED_APPS
– نکته مهم در کلیدخارجی پویا به جدول کاربران
– نقص مدل پایش فعالیت‌ها و نیاز به یک ابزار generic

 

درس چهلم: اپلیکیشن ContentTypes در جنگو
– کار اپ contenttypes در جنگو
– نصب contenttypes در آغاز پروژه
– بررسی اپ contenttypes در contrib جنگو
– بررسی جدول contrib_content_type
– کلاس ContentType و اتریبیوت های app_label و model
– کار ContentTypeManager
– اجرای نمونه کد برای کوئری زدن روی contenttypes
– مفهوم Generic Relations با یک مثال

 

درس چهل و یکم: افزودن کلید خارجی عمومی به مدل
– ایجاد کلید خارجی به مدل ContentTypes
– ایجاد فیلد از نوع PositiveIntegerField
– ایجاد یک کلید خارجی عمومی GenericForeignKey
– افزودن مدل به پنل admin و نگاشت آن به دیتابیس
– بررسی نحوه افزودن Action در پنل مدیریت

 

درس چهل و دوم: تابع ذخیره فعالیت کاربران
– چرا به تابع برای ذخیره Action نیاز داریم؟
– ایجاد ماژول utils در اپ جنگو
– ایجاد تابع create_action
– کاربرد مفید فیلد GenericForeignKey در تابع
– متد save از مدل جنگو برای ذخیره در دیتابیس
– فرق timezone و datetime در جنگو
– ویژگی USE_TZ در جنگو
– متد now از timezone برای دریافت زمان کنونی
– متد timedelta از datetime برای گرفتن زمان گذشته
– کار متد get_for_model از مدل ContentType جنگو
– فیلتر اکشن های مشابه زیر یک دقیقه گذشته از دیتابیس
– متد filter از منیجر objects جنگو

 

درس چهل و سوم: مدیریت فعالیت‌های گوناگون کاربران
– ثبت رخداد اشتراک گذاری تصویر در جدول action
– ثبت رخداد پسندیدن عکس در جدول action
– ثبت رخداد ایجاد نمایه توسط کاربر در جدول action
– ثبت رخداد دنبال کردن کاربران توسط کاربر در جدول action

 

درس چهل و چهارم: نمایش فعالیت کاربران (بخش اول)
– فراخوانی مدل Action در ویوی dashboard
– استفاده از متد exclude از API مربوط به QuerySet جنگو
– حذف اکشن های مربوط به خود کاربر
– دریافت id کاربرانی که کاربر ما دنبال می‌کند
– استفاده از متد values_list و پارامتر flat
– استفاده از متد __in برای جستجوی یک QuerySet در یک لیست
– معرفی مفهوم JOIN در SQL و کوئری خام دارای جوین
– معرفی متد select_related از ORM جنگو برای اجرای JOIN
– متصل کردن کلیدهای خارجی و کلیدهای یک به یک در کوئری ست
– دریافت پروفایل کاربر با JOIN از جدول action ها
– معرفی متد prefetch_related از ORM جنگو برای JOIN پایتونی
– تفاوت select_related و prefetch_related

 

درس چهل و پنجم: نمایش فعالیت کاربران (بخش دوم)
– ایجاد فایل detail در اپ actions برای رعایت Separation of Concerns
– نمایش تصویر user و target در div از کلاس images
– لینک کردن تگ img به صفحه تصویر یا کاربر
– استفاده از تگ thumbnail برای نمایش بندانگشتی تصویر
– نمایش تاریخ به صورت زمان گذشته با فیلتر timesince
– نمایش متن رخداد در تگ span و زیر تگ p
– درج فایل detail.html در داشبورد کاربر با include کردن در html
– آزمایش پروژه و نمایش آخرین رخدادها
– تغییر کوچک css برای بهبود رنگ نمایش تاریخ

 

درس چهل و ششم: غیرنرمال سازی و دیتابیس نرمال
– مفهوم نرمال سازی پایگاه داده
– مفهوم فرم های نرمال
– مفهوم و کاربرد غیرنرمال سازی با یک مثال
– یادآوری متد annotation در جنگو
– یادآوری متد Count در جنگو
– شمارش تعداد پسند عکس ها با انوتیشن
– سبک کردن کوئری با غیرنرمال سازی
– خوبی و بدی غیرنرمال سازی

 

درس چهل و هفتم: کار با سیگنال و ماژول Signals در جنگو
– مفهوم سیگنال چیست‌ ؟
– کاربرد signal dispatcher
– مفهوم تابع receiver در جنگو
– افزودن ماژول signals به یک اپ
– معرفی ماژول سیگنال به AppConfig
– تابع ready در ماژول apps اپ های جنگو
– دکوریتور @receiver و کار آن
– مفهوم sender و instance
– تابع pre_save و post_save
– تابع pre_init و post_init
– اجرای denormalization روی پایگاه داده
– به روز رسانی دیتابیس با دریافت سیگنال
– مهاجرت دیتابیس و آزمایش پروژه
– اجرای کوئری سریع تر با دینورمالیزه کرده

 

درس چهل و هشتم: Redis چیست ؟ __ تعریف، نصب و راه اندازی
– ردیس یا Redis چیست؟
– تعریف و کاربرد ردیس
– تاریخچه شکل گیری Redis
– معنی ذخیره به صورت ساختمان داده
– انواع ساختمان داده یا Data Structure در Redis
– پشتیبانی ردیس از زبان های برنامه نویسی گوناگون
– مثالی از استفاده ردیس به عنوان دیتابیس
– نصب Redis در لینوکس و مک
– نصب Redis در ویندوز با استفاده از WSL
– آموزش نصب ساده Redis در ویندوز از گیت هاب
– راه اندازی سرور ردیس با redis-server
– تغییر پورت ردیس با فلگ –port
– ایجاد نمونه با دستور SET
– فراخوانی نمونه با دستور GET
– تعیین زمان برای حذف خودکار نمونه با دستور EXPIRE
– حذف رکورد با دستور DEL
– مستندات دستورات Redis و انواع داده در ردیس

 

درس چهل و نهم: استفاده از Redis در پایتون و جنگو
– آشنایی با اپ redis-py
– نصب ردیس پای و آشنایی با مستندات آن
– تعریف پایگاه داده با ردیس
– متدهای set و get در اپ redis-py
– توصیه برای نحوه ایجاد کلیدها در ردیس با کلون
– تنظیم port و host و db هنگام ایجاد دیتابیس با ردیس
– نصب ردیس روی جنگو
– فراخوانی ردیس در جنگو و ایجاد دیتابیس
– چطور با ردیس کار کنیم و خودآموز باشیم؟
– آشنایی با متد incr
– نمایش تعداد بازدید عکس ها با ردیس

 

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

نظرات (39)

39 دیدگاه برای آموزش ساخت سایت شبیه اینستاگرام با جنگو ــ (بسته جامع)

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

    سلام.من وقتی میخواهم عکس را بوکمارکلت بکنم ارور زیر میاد:
    django.db.utils.IntegrityError: UNIQUE constraint failed: new__images_image.slug
    میشه توضیح بدید دلیل ارور چیه؟

    • مصطفی آصفی

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

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

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

    • مصطفی آصفی

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

  3. hasan.vahed67@gmail.com

    سلام،میخواستم قبل از تهیه این دوره ازتون بپرسم که آموزش چت کاربرها با یکدیگر هم در این دوره آموزش داده می شود؟

    • مصطفی آصفی

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

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

    سلام استاد آصفی ممنون بابت اموزش های خوبتون استاد من تا اخر فصل دوم پیش رفتم به مشکل خوردم دکمه لایک و انلایک نمیشه و این در مرورگر نشان داده میشه ممنون میشم راهنمایی بفرمایید
    Mixed Content: The page at ‘https://maysite.com:8000/images/detail/63/212s/’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://fonts.googleapis.com/css?family=Muli’. This request has been blocked; the content must be served over HTTPS.
    (index):80 Uncaught ReferenceError: Cannot access ‘csrftoken’ before initialization
    at (index):80:35
    (index):1 Mixed Content: The page at ‘https://maysite.com:8000/images/detail/63/212s/#’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://fonts.googleapis.com/css?family=Muli’. This request has been blocked; the content must be served over HTTPS.

    • مصطفی آصفی

      سلام وقت بخیر. روی آدرس پایین https به جای http درج کنید.
      http://fonts.googleapis.com/css
      خطا داره میگه یه نشانی تحت پروتکل http رو داری از دل پروتکل امن https لود می کنی و این رو برای امنیت مسدود کردیم.

  5. فاطمه فضل العی (خریدار محصول)

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

  6. معین

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

  7. معین

    سلام آیا پروژه پایانی ضمیمه فایل هست؟

    • مصطفی آصفی

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

  8. معین

    سلام وقت شما بخیر
    دوستان عزیز بنده انگلیسی و فارسی شده این پروژه رو جهت پروژه پایانیه دانشگاه می خوام ارائه بدم، اگر کسی از دوستان که پروژه رو به اتمام رسونده ( کد نویسی تمیز همراه با کامنت)
    قصد فروشش رو داره من خریدار هستم تا شاید انگیزه ای هم ایجاد کرده باشم
    متشکرم

    • مصطفی آصفی

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

  9. رضا فرهادکیایی (خریدار محصول)

    سلام استاد
    ممنون از دوره خوبتون
    در مورد python-social-auth سوال داشتم
    پروژه وقتی در حالت توسعه بود مشکلی نداشت ولی وقتی کار تمام شد و می خواستم پروژه رو دپلوی کنم از دیتابیس MYSQL استفاده کردم و کار دپلوی در مراحل پایانی بود و وقتی migrate نهایی رو زدم تا کار تقریبا تموم شه یه خطایی داد که متن خطا به این صورت بود
    https://github.com/python-social-auth/social-app-django/issues/32
    که مربوط به پکیج python-social-auth هست با جست و جویی که کردم راه حل به این صورت بود که در قسمت setting این مقادیر رو قرار بدم
    SOCIAL_AUTH_UID_LENGTH = 223
    SOCIAL_AUTH_NONCE_SERVER_URL_LENGTH = 40
    SOCIAL_AUTH_ASSOCIATION_SERVER_URL_LENGTH = 16
    SOCIAL_AUTH_ASSOCIATION_HANDLE_LENGTH = 16
    وقتی این مقادیر رو قرار دادم و سیو کردم و بعد که MIGRATE انجام دادم به درستی کار کرد و دپلوی تمام شد
    می خواستم بپرسم این مقادیری که قرار دادم درست هستند و درآینده مشکلی پیش نمیاد ؟ لطفا اگر اشکالی هست تصحیح کنید
    خیلی ممنون

    • مصطفی آصفی

      سلام و ممنون از شما آقای فرهاد کیایی که اینقدر خوب هم انتقال تجربه کردین هم طرح سوال. همون طور که تو مستندات python-social-auth (+) نوشته شده. این مشکلی هست که با برخی دیتابیس ها پیش میاد و اعدادی که گذاشتین مطابق پیشنهاد خود توسعه دهنده هست که زوایای کارش رو بهتر می شناسه. احتمالا نباید به مشکلی بخورید.

  10. فاطمه فضل العی (خریدار محصول)

    استاد فهمیدم چرا این ارور رو میده
    موقع سیو slug از روی titleبرا نمیساخت و سیو میشد
    چونtitleعکسم فارسی بود اینslugرو نمیساخت
    خودم دستیslugرو انگلیسی کردم، این dslugبرام ساخته شده و صفحه جزییات عکس نمایش داده شد

    باید چیکار کنم تا از روی titleفارسی هم این slugساخته بشه؟

    • مصطفی آصفی

      سلام و ممنون که ریشه یابی کردید. برای این که اسلاگ از کارکترهای utf-8 مثل کاراکترهای زبان فارسی ساخته بشه دو راه میشه پیشنهاد کرد:
      ۱- استفاده از تابع پایین که موقع ساخت url می تونید بهش پاس بدین
      from django.template.defaultfilters import slugify
      ۲- استفاده از فیلد اسلاگ یا SlugField و مجاز کردن allow_unicode در اون (+)

  11. فاطمه فضل العی (خریدار محصول)

    این ارور من مربوط به درس ۲۳ از فصل دو هست ، عکس داخل پایگاه داده ذخیره میشه ولی
    گزینهbokmatkمیزنم که وارد صفحه جزییات بشم ،این ارور رو میده
    من همه کدای داخلurl,model,viewهم تطبیق دادم
    کدا یکی هست
    ممنون میشم راهنمایی کنید من چیکار کنم
    من تو نت سرچ کردم , انگار که urlای که دادم با ساختار جنگو نمیخونه

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

    استاد اصفی سلام
    ببخشید من به ی ارور بر خوردم. داخل نتم خیلی سرچ کردم ولی خیلی متوجه نشدم برای رفعش چیکار کنم . میشه راهنمایی کنید .detailرو reverseانجام نمیشه
    NoReverseMatch
    django.urls.exceptions.NoReverseMatch: Reverse for ‘detail’ with arguments ‘(30, ”)’ not found. 1 pattern(s) tried: [‘images/detail/(?P[0-9]+)/(?P[-a-zA-Z0-9_]+)/\\Z’]

    • مصطفی آصفی

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

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

  13. فاطمه فضل العی (خریدار محصول)

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

    • مصطفی آصفی

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

  14. فاطمه فضل العی (خریدار محصول)

    ممنون، مشکل من حل شد

    • مصطفی آصفی

      سلام به شما و می بخشین که خیلی دیر می رسم به بخش نظرات. ممنونم که اطلاع دادین.

  15. فاطمه فضل العی (خریدار محصول)

    استاد سلام
    ببخشید سایت من با httpsبالا اومد
    و بعد در فیلم ۲۲همون جور که گفتید فایل های کدنویسی رو پیوست کردم
    اما سایت رو که بالا میارم ، گزینه بوکمارکلت برای من کار نمیکنه ، اون پنجره ی مشخص باز نمیشه
    میشه راهنمایی کنید میتونه مشکل از کجا باشه
    میتونه باز مشکل ازhttps باشه؟

  16. فاطمه فضل العی (خریدار محصول)

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

    • مصطفی آصفی

      سلام و ممنون از اطلاعتون خیلی خوشحال شدم.

  17. فاطمه فضل الهی

    سلام استاد .بازم تشکر میکنم بخاطر اموزشای عالیتون
    ببخشید استاد من برای ایجاد اتصال https به مشکل برخوردم
    کتابخانه هایی که گفتیدرو نصب کردم .همه به درستی نصب شدندولی با دستور runserver_plus اجرا میکنم
    (venv) PS C:\Users\bio.h\PycharmProjects\pythonProject2\projeh> python manage.py runserver_plus –cert-file cert.crt
    * Running on https://127.0.0.1:8000 (Press CTRL+C to quit)
    * Restarting with stat
    Performing system checks…

    System check identified no issues (0 silenced).

    Django version 4.0.3, using settings ‘projeh.settings’
    Development server is running at https://[127.0.0.1]:8000/
    Using the Werkzeug debugger (http://werkzeug.pocoo.org/)
    Quit the server with CTRL-BREAK.
    * Debugger is active!
    * Debugger PIN: 428-859-826
    ادرسی که با https باید بیاد نمیاد
    خودم ادرس رو جداگانه روی مرورگر میزنم وگزینه ای که برای اجراکردن روی مود ناامن هستم هم میزنم.ولی بالا نمیاد
    با runserver ساده میزنم پروژه بالا میاد مشکلی هم نداره
    میتونید راهنمایی کنید من چیکار کنم

    • مصطفی آصفی

      سلام وقتتون بخیر. سلامت باشین. متنی که فرستادین لاگ هست متن خطا نیست.
      با فرض این که کدتون درست باشه شاید خطاتون مشابه این issue (+) باشه. این سه راهکار رو یک به یک امتحان کنید ببینید با هیچ کدوم مشکل حل میشه. نتیجه رو اطلاع بدین:
      ۱- دستور runserver_plus رو با فلگ –keep-meta-shutdown اجرا کنید. یعنی دستور کامل یه چیزی شبیه پایین میشه البته با تغییرات مسیر و آدرس نسبت به پروژه شما:
      python manage.py runserver_plus –cert-file /path/to/cert.pem –key-file /path/to/key.pem –keep-meta-shutdown localhost:8000
      اگه این راه جواب نداد راهکار ۲ رو امتحان کنید:
      ۲- فایل runserver_plus.py رو تو مسیر نصب پکیج پیدا کنید و خط های ۳۲۵ و ۳۲۶ اون رو کامنت کنید و دوباره runserver_plus رو اجرا کنید. اگه مشکل حل نشد کامنت ها رو برگردونید و راهکار ۳ رو امتحان کنید:
      ۳- با استفاده از دستور pip freeze > requirements.txt تمام کتابخونه هایی که تو این لحظه پروژه تون بهشون وابسته هست رو تو فایل requirements.txt ذخیره کنید. بعد نسخه جنگو رو تو اون فایل به ۳.۰۲ تغییر بدین. بعد یه venv جدید یه جای دیگه با پایتون ۳.۱۰ بسازید و فایل requiremetns.txt رو کنارش کپی کنید و با دستور pip install -r requirements.txt تمام کتابخونه های پروژه فعلی رو توش بالا بیارید. در نهایت این venv رو فعال کنید و به مسیر پروژه برید و runsrver_plus رو اجرا کنید.

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

  18. atiyeh

    استاد ممنون مشکل من حل شد

  19. atiyeh

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

    ERRORS:
    : (admin.E108) The value of ‘list_display[1]’ refers to ‘data_of_birth’, which is not a callable, an attribute of ‘profileAdmin’,
    or an attribute or method on ‘account.profile’.

    System check identified 1 issue (0 silenced)

    • مصطفی آصفی

      سلام به شما. این مشکل از admin.py شما هست. چون کدتون رو نمی بینم این لینک (+) رو ببینید و سعی کنید از روی اون خطای خودتون رو مشابه سازی کنید.

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

    ممنون استاد، بله همون طور که گفتید یک اشتباه تایپی بود که رفع کردم

  21. fatemeh fazlolahi

    استاد اصفی سلام .ببخشید من تازه اوایل این دوره هستم .اول یک تشکر ویژه بخاطر این همه وقت وصبری که به خاطره ضبط این دوره ها گذاشتید .واقعا ممنونم
    و اینکه من به یک ارور بر خوردم .نتونستم رفعش کنم میتونید راهنمایی کنید
    File “C:\Users\bio.h\PycharmProjects\pythonProject2\venv\lib\site-packages\django\forms\fields.py”, line 267, in __init__
    super().__init__(**kwargs)
    TypeError: Field.__init__() got an unexpected keyword argument ‘lable’

    • مصطفی آصفی

      سلام و سپاس از لطف شما. ببینید همون طور که تو متن خطا می بینید یک خطایی تو forms\fields.py دارین. احتمالا یکی از ایمپورت ها تو فیلدهای فرمتون اشتباهه. مثلا خطای تایپی دارین. لطفا بررسی کنید و نتیجه رو اطلاع بدین.

  22. زهرا غلامی مقدم (خریدار محصول)

    متوجه شدم من. ببخشید. ممنونم

  23. زهرا غلامی مقدم (خریدار محصول)

    سلام. ببخشید آقای آصفی من این خط از کد را متوجه نشدم. میشه اون قسمت images_created.all را ی توضیح کوچیک بدین که دقیقا چی هستن هر کدوم؟
    {% include “images/image/list_ajax.html” with images=user.images_created.all %}

  24. زهرا غلامی مقدم (خریدار محصول)

    برای ارسال ایمیل بصورت آنلاین باید ویو register را خودم بنویسم؟ نمیشه از register view آماده که در این دوره نوشتیم استفاده کنیم؟؟
    امکانش هست برای انجام این کار یک راهنمایی بفرمایید؟ من طبق فیلمهای شما جلو رفتم ولی الان نمیدونم چقدر باید برنامم رو تغییر بدم
    ممنون

    • مصطفی آصفی

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

  25. hessein bahar (خریدار محصول)

    با سلام و ادب استاد
    امید که خوب و شاد باشید، به لطف آموزش خوب شما ایراد فصل اول بر طرف گردید حال در فصل دوم در قسمت 19 بعد از مراحل بیان شده در درس گفتار شما و در هنگام تست با این ایراد مواجه شدم:
    django.core.management.base.SystemCheckError
    django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
    ERRORS:
    : (admin.E108) The value of ‘list_display[2]’ refers to ‘image’, which is not a callable, an attribute of ‘ImageAdmin’, or an attribute or method on ‘images.Image’.
    System check identified 1 issue (0 silenced).
    Traceback (most recent call last)
    File “C:\Users\Pavilion\Dropbox\My PC (DESKTOP-VP4T3BJ)\Desktop\django_pro_sn\venv\Lib\site-packages\django\contrib\staticfiles\handlers.py”, line 76, in __call__
    return self.application(environ, start_response)
    File “C:\Users\Pavilion\Dropbox\My PC (DESKTOP-VP4T3BJ)\Desktop\django_pro_sn\venv\Lib\site-packages\django_extensions\management\commands\runserver_plus.py”, line 300, in application
    raise SystemCheckError(error_message)
    django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
    ERRORS:
    : (admin.E108) The value of ‘list_display[2]’ refers to ‘image’, which is not a callable, an attribute of ‘ImageAdmin’, or an attribute or method on ‘images.Image’.
    System check identified 1 issue (0 silenced).
    می توانید بنده را راهنمایی کنید؟ با سپاس از مهر شما

    • مصطفی آصفی

      سلام به شما جناب بهارلویی. خطای بالا داره میگه که نمی تونه ویژگی Image رو برای list_display شناسایی کنه. احتمالا یه اشتباه تایپی دارید.
      یه نکته ای رو بهتون بگم. رای خودکفا شدن از گوگل کردن غافل نشید. معمولا اگه متن اصلی خطا رو در گوگل جستجو کنید پیش از شما موارد مشابهی بوده:
      The value of ‘list_display[2]’ refers to ‘image’, which is not a callable

  26. hessein bahar (خریدار محصول)

    با سلام و ادب امید که خوب و شاد باشید و خسته نباشید به خاطر آموزش های خوب شما در هم رویش…
    ببخشید یک مشکل در فصل اول آموزش برای بنده پیش آمده که نتوانستم آن را بر طرف کنم در قسمت 6 که resetpassword می باشد بعد نوشتن کد ها همانند شما در هنگام تست گرفتن یک ایراد می گیرد و همچنین اشاره به یک موضوع می کند اول اینکه می گوید register در خط 14 کد login پیدا نشده است {account register here} و بعد در ادامه که این ایراد را می گیرد به base.html اشاره می کند و از خط 13 آن یعنی ایراد می گیرد. در قسمت قبل آموزش مشکلی نبوده و سایت به تغییر رمز به راحتی کار می کرد… با سپاس از مهر و راهنمایی شما

    • مصطفی آصفی

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

  27. Arman Fakhrian

    سلام
    میشه فقط درسهای شماره ۳۱ و ۳۲ را خریداری کنم؟

  28. امید

    سلام و درود

    میشه بگیه که در کدوم دوره یه متور جستجو برای پروژه طراحی سایت ساخیتد (چند روز پیش توی دمو دورتون دیدم ولی حالا نمیدانم کدوم دوره انقد که زیادن :)) و اینکه اسم الگوریتمش چیه؟ لطفا

    • مصطفی آصفی

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

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

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

    سلام اقای اصفی
    گفتید در پوشه اصلی پروژه یک __init__ بنویسم و این کارو انجام دادم ولی یک خطای دیگه داد
    https://s4.uupload.ir/files/20210831_172923_fn34.jpg
    اقای اصفی در داخل models.py و admin.py چه چیزی باید نوشته شده باشه.ممنون میشم به این سوالم پاسخ بدید.

    • مصطفی آصفی

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

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

    سلام اقای اصفی
    خطارو براتون ارسال کردم دیدین

    • مصطفی آصفی

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

  31. امیر

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

    ممنونم

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

    اقای اصفی این لینکه پایین خطای بنده هستش بی زحمت بگید که باید چیکار کنم که این خطا رفع بشه
    https://s4.uupload.ir/files/20210815_195737_ptbu.jpg

    • مصطفی آصفی

      سلام وقت بخیر. احتمالا با ایجاد یک فایل پایتون با نام __init__ با پسوند .py در پوشه اصلی پروژه مشکلتون حل میشه. این فایل در واقغ حالت ماژولی به این پوشه میده. دقت کنید راهکار اصولی تر در چنین مواقعی اینه که خطای دریافتی رو گوگل و راهکارهایی که معمولا در stackoverflow داده میشه رو بررسی کنید.
      برای مثال با توجه به عکس ارسالی باید گوگل کنید:
      frozen importlib._bootstrap django
      با این حال بنده اینجا هم خدمتتون هستم. راه بالا رو امتحان کنید انشالله که حل میشه.

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

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

    • مصطفی آصفی

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

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

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

    • مصطفی آصفی

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

  35. رضا خدرزاده (خریدار محصول)

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

    لینک فایل حاوی متن خطا

    (متن خطای شما در قالب یک فایل زیپ در لینک بالا قرار گرفت)

    • مصطفی آصفی

      سلام به شما. دوست عزیزم بهتر بود دست کم می گفتید این خطا رو تو چه درسی و بعد از چه کدی دریافت کردین. با این توضیح و فایلی که فرستادین احتمالا مایگریشن به درستی انجام نشده:
      python manage.py makemigrations
      python manage.py migrate

      این لینک (+) رو ببینید. مشابه خطای شما رو داشتن تقریبا.

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

  36. رضا خدرزاده (خریدار محصول)

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

    • مصطفی آصفی

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

  37. رضا

    سلام
    من می خوام این دوره را تهیه کنم. فقط دو تا سوال خدمتتون داشتم:
    1- آیا می توان در این شبکه اجتماعی، افراد پیام های فارسی را به اشتراک بگذارند یا برای هم ارسال کنند؟
    2- ایا می توان برای استفاده از این شبکه اجتماعی از سیستم عامل مختلف مانند اندروید، IOS، ویندوز و … استفاده کرد؟

    • مصطفی آصفی

      سلام به شما. لطفا فیلم معرفی دوره رو در بالا ببینید. تو فیلم پروژه نهایی رو نشون دادم.

  38. amir mahdavi

    سلام استاد
    واقعا از آموزشهاتون لذت بردم
    شرمنده من دارم دنبال چند نفر میگردم که یه پروژه استارت آپی رو اجرا کنیم
    میتونید چندنفر رو معرفی کنید؟
    تشکر

    • مصطفی آصفی

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

  39. رضایی

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

    • مصطفی آصفی

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

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

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

39 دیدگاه برای آموزش ساخت سایت شبیه اینستاگرام با جنگو ــ (بسته جامع)

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

    سلام.من وقتی میخواهم عکس را بوکمارکلت بکنم ارور زیر میاد:
    django.db.utils.IntegrityError: UNIQUE constraint failed: new__images_image.slug
    میشه توضیح بدید دلیل ارور چیه؟

    • مصطفی آصفی

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

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

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

    • مصطفی آصفی

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

  3. hasan.vahed67@gmail.com

    سلام،میخواستم قبل از تهیه این دوره ازتون بپرسم که آموزش چت کاربرها با یکدیگر هم در این دوره آموزش داده می شود؟

    • مصطفی آصفی

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

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

    سلام استاد آصفی ممنون بابت اموزش های خوبتون استاد من تا اخر فصل دوم پیش رفتم به مشکل خوردم دکمه لایک و انلایک نمیشه و این در مرورگر نشان داده میشه ممنون میشم راهنمایی بفرمایید
    Mixed Content: The page at ‘https://maysite.com:8000/images/detail/63/212s/’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://fonts.googleapis.com/css?family=Muli’. This request has been blocked; the content must be served over HTTPS.
    (index):80 Uncaught ReferenceError: Cannot access ‘csrftoken’ before initialization
    at (index):80:35
    (index):1 Mixed Content: The page at ‘https://maysite.com:8000/images/detail/63/212s/#’ was loaded over HTTPS, but requested an insecure stylesheet ‘http://fonts.googleapis.com/css?family=Muli’. This request has been blocked; the content must be served over HTTPS.

    • مصطفی آصفی

      سلام وقت بخیر. روی آدرس پایین https به جای http درج کنید.
      http://fonts.googleapis.com/css
      خطا داره میگه یه نشانی تحت پروتکل http رو داری از دل پروتکل امن https لود می کنی و این رو برای امنیت مسدود کردیم.

  5. فاطمه فضل العی (خریدار محصول)

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

  6. معین

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

  7. معین

    سلام آیا پروژه پایانی ضمیمه فایل هست؟

    • مصطفی آصفی

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

  8. معین

    سلام وقت شما بخیر
    دوستان عزیز بنده انگلیسی و فارسی شده این پروژه رو جهت پروژه پایانیه دانشگاه می خوام ارائه بدم، اگر کسی از دوستان که پروژه رو به اتمام رسونده ( کد نویسی تمیز همراه با کامنت)
    قصد فروشش رو داره من خریدار هستم تا شاید انگیزه ای هم ایجاد کرده باشم
    متشکرم

    • مصطفی آصفی

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

  9. رضا فرهادکیایی (خریدار محصول)

    سلام استاد
    ممنون از دوره خوبتون
    در مورد python-social-auth سوال داشتم
    پروژه وقتی در حالت توسعه بود مشکلی نداشت ولی وقتی کار تمام شد و می خواستم پروژه رو دپلوی کنم از دیتابیس MYSQL استفاده کردم و کار دپلوی در مراحل پایانی بود و وقتی migrate نهایی رو زدم تا کار تقریبا تموم شه یه خطایی داد که متن خطا به این صورت بود
    https://github.com/python-social-auth/social-app-django/issues/32
    که مربوط به پکیج python-social-auth هست با جست و جویی که کردم راه حل به این صورت بود که در قسمت setting این مقادیر رو قرار بدم
    SOCIAL_AUTH_UID_LENGTH = 223
    SOCIAL_AUTH_NONCE_SERVER_URL_LENGTH = 40
    SOCIAL_AUTH_ASSOCIATION_SERVER_URL_LENGTH = 16
    SOCIAL_AUTH_ASSOCIATION_HANDLE_LENGTH = 16
    وقتی این مقادیر رو قرار دادم و سیو کردم و بعد که MIGRATE انجام دادم به درستی کار کرد و دپلوی تمام شد
    می خواستم بپرسم این مقادیری که قرار دادم درست هستند و درآینده مشکلی پیش نمیاد ؟ لطفا اگر اشکالی هست تصحیح کنید
    خیلی ممنون

    • مصطفی آصفی

      سلام و ممنون از شما آقای فرهاد کیایی که اینقدر خوب هم انتقال تجربه کردین هم طرح سوال. همون طور که تو مستندات python-social-auth (+) نوشته شده. این مشکلی هست که با برخی دیتابیس ها پیش میاد و اعدادی که گذاشتین مطابق پیشنهاد خود توسعه دهنده هست که زوایای کارش رو بهتر می شناسه. احتمالا نباید به مشکلی بخورید.

  10. فاطمه فضل العی (خریدار محصول)

    استاد فهمیدم چرا این ارور رو میده
    موقع سیو slug از روی titleبرا نمیساخت و سیو میشد
    چونtitleعکسم فارسی بود اینslugرو نمیساخت
    خودم دستیslugرو انگلیسی کردم، این dslugبرام ساخته شده و صفحه جزییات عکس نمایش داده شد

    باید چیکار کنم تا از روی titleفارسی هم این slugساخته بشه؟

    • مصطفی آصفی

      سلام و ممنون که ریشه یابی کردید. برای این که اسلاگ از کارکترهای utf-8 مثل کاراکترهای زبان فارسی ساخته بشه دو راه میشه پیشنهاد کرد:
      ۱- استفاده از تابع پایین که موقع ساخت url می تونید بهش پاس بدین
      from django.template.defaultfilters import slugify
      ۲- استفاده از فیلد اسلاگ یا SlugField و مجاز کردن allow_unicode در اون (+)

  11. فاطمه فضل العی (خریدار محصول)

    این ارور من مربوط به درس ۲۳ از فصل دو هست ، عکس داخل پایگاه داده ذخیره میشه ولی
    گزینهbokmatkمیزنم که وارد صفحه جزییات بشم ،این ارور رو میده
    من همه کدای داخلurl,model,viewهم تطبیق دادم
    کدا یکی هست
    ممنون میشم راهنمایی کنید من چیکار کنم
    من تو نت سرچ کردم , انگار که urlای که دادم با ساختار جنگو نمیخونه

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

    استاد اصفی سلام
    ببخشید من به ی ارور بر خوردم. داخل نتم خیلی سرچ کردم ولی خیلی متوجه نشدم برای رفعش چیکار کنم . میشه راهنمایی کنید .detailرو reverseانجام نمیشه
    NoReverseMatch
    django.urls.exceptions.NoReverseMatch: Reverse for ‘detail’ with arguments ‘(30, ”)’ not found. 1 pattern(s) tried: [‘images/detail/(?P[0-9]+)/(?P[-a-zA-Z0-9_]+)/\\Z’]

    • مصطفی آصفی

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

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

  13. فاطمه فضل العی (خریدار محصول)

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

    • مصطفی آصفی

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

  14. فاطمه فضل العی (خریدار محصول)

    ممنون، مشکل من حل شد

    • مصطفی آصفی

      سلام به شما و می بخشین که خیلی دیر می رسم به بخش نظرات. ممنونم که اطلاع دادین.

  15. فاطمه فضل العی (خریدار محصول)

    استاد سلام
    ببخشید سایت من با httpsبالا اومد
    و بعد در فیلم ۲۲همون جور که گفتید فایل های کدنویسی رو پیوست کردم
    اما سایت رو که بالا میارم ، گزینه بوکمارکلت برای من کار نمیکنه ، اون پنجره ی مشخص باز نمیشه
    میشه راهنمایی کنید میتونه مشکل از کجا باشه
    میتونه باز مشکل ازhttps باشه؟

  16. فاطمه فضل العی (خریدار محصول)

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

    • مصطفی آصفی

      سلام و ممنون از اطلاعتون خیلی خوشحال شدم.

  17. فاطمه فضل الهی

    سلام استاد .بازم تشکر میکنم بخاطر اموزشای عالیتون
    ببخشید استاد من برای ایجاد اتصال https به مشکل برخوردم
    کتابخانه هایی که گفتیدرو نصب کردم .همه به درستی نصب شدندولی با دستور runserver_plus اجرا میکنم
    (venv) PS C:\Users\bio.h\PycharmProjects\pythonProject2\projeh> python manage.py runserver_plus –cert-file cert.crt
    * Running on https://127.0.0.1:8000 (Press CTRL+C to quit)
    * Restarting with stat
    Performing system checks…

    System check identified no issues (0 silenced).

    Django version 4.0.3, using settings ‘projeh.settings’
    Development server is running at https://[127.0.0.1]:8000/
    Using the Werkzeug debugger (http://werkzeug.pocoo.org/)
    Quit the server with CTRL-BREAK.
    * Debugger is active!
    * Debugger PIN: 428-859-826
    ادرسی که با https باید بیاد نمیاد
    خودم ادرس رو جداگانه روی مرورگر میزنم وگزینه ای که برای اجراکردن روی مود ناامن هستم هم میزنم.ولی بالا نمیاد
    با runserver ساده میزنم پروژه بالا میاد مشکلی هم نداره
    میتونید راهنمایی کنید من چیکار کنم

    • مصطفی آصفی

      سلام وقتتون بخیر. سلامت باشین. متنی که فرستادین لاگ هست متن خطا نیست.
      با فرض این که کدتون درست باشه شاید خطاتون مشابه این issue (+) باشه. این سه راهکار رو یک به یک امتحان کنید ببینید با هیچ کدوم مشکل حل میشه. نتیجه رو اطلاع بدین:
      ۱- دستور runserver_plus رو با فلگ –keep-meta-shutdown اجرا کنید. یعنی دستور کامل یه چیزی شبیه پایین میشه البته با تغییرات مسیر و آدرس نسبت به پروژه شما:
      python manage.py runserver_plus –cert-file /path/to/cert.pem –key-file /path/to/key.pem –keep-meta-shutdown localhost:8000
      اگه این راه جواب نداد راهکار ۲ رو امتحان کنید:
      ۲- فایل runserver_plus.py رو تو مسیر نصب پکیج پیدا کنید و خط های ۳۲۵ و ۳۲۶ اون رو کامنت کنید و دوباره runserver_plus رو اجرا کنید. اگه مشکل حل نشد کامنت ها رو برگردونید و راهکار ۳ رو امتحان کنید:
      ۳- با استفاده از دستور pip freeze > requirements.txt تمام کتابخونه هایی که تو این لحظه پروژه تون بهشون وابسته هست رو تو فایل requirements.txt ذخیره کنید. بعد نسخه جنگو رو تو اون فایل به ۳.۰۲ تغییر بدین. بعد یه venv جدید یه جای دیگه با پایتون ۳.۱۰ بسازید و فایل requiremetns.txt رو کنارش کپی کنید و با دستور pip install -r requirements.txt تمام کتابخونه های پروژه فعلی رو توش بالا بیارید. در نهایت این venv رو فعال کنید و به مسیر پروژه برید و runsrver_plus رو اجرا کنید.

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

  18. atiyeh

    استاد ممنون مشکل من حل شد

  19. atiyeh

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

    ERRORS:
    : (admin.E108) The value of ‘list_display[1]’ refers to ‘data_of_birth’, which is not a callable, an attribute of ‘profileAdmin’,
    or an attribute or method on ‘account.profile’.

    System check identified 1 issue (0 silenced)

    • مصطفی آصفی

      سلام به شما. این مشکل از admin.py شما هست. چون کدتون رو نمی بینم این لینک (+) رو ببینید و سعی کنید از روی اون خطای خودتون رو مشابه سازی کنید.

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

    ممنون استاد، بله همون طور که گفتید یک اشتباه تایپی بود که رفع کردم

  21. fatemeh fazlolahi

    استاد اصفی سلام .ببخشید من تازه اوایل این دوره هستم .اول یک تشکر ویژه بخاطر این همه وقت وصبری که به خاطره ضبط این دوره ها گذاشتید .واقعا ممنونم
    و اینکه من به یک ارور بر خوردم .نتونستم رفعش کنم میتونید راهنمایی کنید
    File “C:\Users\bio.h\PycharmProjects\pythonProject2\venv\lib\site-packages\django\forms\fields.py”, line 267, in __init__
    super().__init__(**kwargs)
    TypeError: Field.__init__() got an unexpected keyword argument ‘lable’

    • مصطفی آصفی

      سلام و سپاس از لطف شما. ببینید همون طور که تو متن خطا می بینید یک خطایی تو forms\fields.py دارین. احتمالا یکی از ایمپورت ها تو فیلدهای فرمتون اشتباهه. مثلا خطای تایپی دارین. لطفا بررسی کنید و نتیجه رو اطلاع بدین.

  22. زهرا غلامی مقدم (خریدار محصول)

    متوجه شدم من. ببخشید. ممنونم

  23. زهرا غلامی مقدم (خریدار محصول)

    سلام. ببخشید آقای آصفی من این خط از کد را متوجه نشدم. میشه اون قسمت images_created.all را ی توضیح کوچیک بدین که دقیقا چی هستن هر کدوم؟
    {% include “images/image/list_ajax.html” with images=user.images_created.all %}

  24. زهرا غلامی مقدم (خریدار محصول)

    برای ارسال ایمیل بصورت آنلاین باید ویو register را خودم بنویسم؟ نمیشه از register view آماده که در این دوره نوشتیم استفاده کنیم؟؟
    امکانش هست برای انجام این کار یک راهنمایی بفرمایید؟ من طبق فیلمهای شما جلو رفتم ولی الان نمیدونم چقدر باید برنامم رو تغییر بدم
    ممنون

    • مصطفی آصفی

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

  25. hessein bahar (خریدار محصول)

    با سلام و ادب استاد
    امید که خوب و شاد باشید، به لطف آموزش خوب شما ایراد فصل اول بر طرف گردید حال در فصل دوم در قسمت 19 بعد از مراحل بیان شده در درس گفتار شما و در هنگام تست با این ایراد مواجه شدم:
    django.core.management.base.SystemCheckError
    django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
    ERRORS:
    : (admin.E108) The value of ‘list_display[2]’ refers to ‘image’, which is not a callable, an attribute of ‘ImageAdmin’, or an attribute or method on ‘images.Image’.
    System check identified 1 issue (0 silenced).
    Traceback (most recent call last)
    File “C:\Users\Pavilion\Dropbox\My PC (DESKTOP-VP4T3BJ)\Desktop\django_pro_sn\venv\Lib\site-packages\django\contrib\staticfiles\handlers.py”, line 76, in __call__
    return self.application(environ, start_response)
    File “C:\Users\Pavilion\Dropbox\My PC (DESKTOP-VP4T3BJ)\Desktop\django_pro_sn\venv\Lib\site-packages\django_extensions\management\commands\runserver_plus.py”, line 300, in application
    raise SystemCheckError(error_message)
    django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
    ERRORS:
    : (admin.E108) The value of ‘list_display[2]’ refers to ‘image’, which is not a callable, an attribute of ‘ImageAdmin’, or an attribute or method on ‘images.Image’.
    System check identified 1 issue (0 silenced).
    می توانید بنده را راهنمایی کنید؟ با سپاس از مهر شما

    • مصطفی آصفی

      سلام به شما جناب بهارلویی. خطای بالا داره میگه که نمی تونه ویژگی Image رو برای list_display شناسایی کنه. احتمالا یه اشتباه تایپی دارید.
      یه نکته ای رو بهتون بگم. رای خودکفا شدن از گوگل کردن غافل نشید. معمولا اگه متن اصلی خطا رو در گوگل جستجو کنید پیش از شما موارد مشابهی بوده:
      The value of ‘list_display[2]’ refers to ‘image’, which is not a callable

  26. hessein bahar (خریدار محصول)

    با سلام و ادب امید که خوب و شاد باشید و خسته نباشید به خاطر آموزش های خوب شما در هم رویش…
    ببخشید یک مشکل در فصل اول آموزش برای بنده پیش آمده که نتوانستم آن را بر طرف کنم در قسمت 6 که resetpassword می باشد بعد نوشتن کد ها همانند شما در هنگام تست گرفتن یک ایراد می گیرد و همچنین اشاره به یک موضوع می کند اول اینکه می گوید register در خط 14 کد login پیدا نشده است {account register here} و بعد در ادامه که این ایراد را می گیرد به base.html اشاره می کند و از خط 13 آن یعنی ایراد می گیرد. در قسمت قبل آموزش مشکلی نبوده و سایت به تغییر رمز به راحتی کار می کرد… با سپاس از مهر و راهنمایی شما

    • مصطفی آصفی

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

  27. Arman Fakhrian

    سلام
    میشه فقط درسهای شماره ۳۱ و ۳۲ را خریداری کنم؟

  28. امید

    سلام و درود

    میشه بگیه که در کدوم دوره یه متور جستجو برای پروژه طراحی سایت ساخیتد (چند روز پیش توی دمو دورتون دیدم ولی حالا نمیدانم کدوم دوره انقد که زیادن :)) و اینکه اسم الگوریتمش چیه؟ لطفا

    • مصطفی آصفی

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

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

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

    سلام اقای اصفی
    گفتید در پوشه اصلی پروژه یک __init__ بنویسم و این کارو انجام دادم ولی یک خطای دیگه داد
    https://s4.uupload.ir/files/20210831_172923_fn34.jpg
    اقای اصفی در داخل models.py و admin.py چه چیزی باید نوشته شده باشه.ممنون میشم به این سوالم پاسخ بدید.

    • مصطفی آصفی

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

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

    سلام اقای اصفی
    خطارو براتون ارسال کردم دیدین

    • مصطفی آصفی

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

  31. امیر

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

    ممنونم

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

    اقای اصفی این لینکه پایین خطای بنده هستش بی زحمت بگید که باید چیکار کنم که این خطا رفع بشه
    https://s4.uupload.ir/files/20210815_195737_ptbu.jpg

    • مصطفی آصفی

      سلام وقت بخیر. احتمالا با ایجاد یک فایل پایتون با نام __init__ با پسوند .py در پوشه اصلی پروژه مشکلتون حل میشه. این فایل در واقغ حالت ماژولی به این پوشه میده. دقت کنید راهکار اصولی تر در چنین مواقعی اینه که خطای دریافتی رو گوگل و راهکارهایی که معمولا در stackoverflow داده میشه رو بررسی کنید.
      برای مثال با توجه به عکس ارسالی باید گوگل کنید:
      frozen importlib._bootstrap django
      با این حال بنده اینجا هم خدمتتون هستم. راه بالا رو امتحان کنید انشالله که حل میشه.

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

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

    • مصطفی آصفی

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

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

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

    • مصطفی آصفی

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

  35. رضا خدرزاده (خریدار محصول)

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

    لینک فایل حاوی متن خطا

    (متن خطای شما در قالب یک فایل زیپ در لینک بالا قرار گرفت)

    • مصطفی آصفی

      سلام به شما. دوست عزیزم بهتر بود دست کم می گفتید این خطا رو تو چه درسی و بعد از چه کدی دریافت کردین. با این توضیح و فایلی که فرستادین احتمالا مایگریشن به درستی انجام نشده:
      python manage.py makemigrations
      python manage.py migrate

      این لینک (+) رو ببینید. مشابه خطای شما رو داشتن تقریبا.

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

  36. رضا خدرزاده (خریدار محصول)

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

    • مصطفی آصفی

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

  37. رضا

    سلام
    من می خوام این دوره را تهیه کنم. فقط دو تا سوال خدمتتون داشتم:
    1- آیا می توان در این شبکه اجتماعی، افراد پیام های فارسی را به اشتراک بگذارند یا برای هم ارسال کنند؟
    2- ایا می توان برای استفاده از این شبکه اجتماعی از سیستم عامل مختلف مانند اندروید، IOS، ویندوز و … استفاده کرد؟

    • مصطفی آصفی

      سلام به شما. لطفا فیلم معرفی دوره رو در بالا ببینید. تو فیلم پروژه نهایی رو نشون دادم.

  38. amir mahdavi

    سلام استاد
    واقعا از آموزشهاتون لذت بردم
    شرمنده من دارم دنبال چند نفر میگردم که یه پروژه استارت آپی رو اجرا کنیم
    میتونید چندنفر رو معرفی کنید؟
    تشکر

    • مصطفی آصفی

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

  39. رضایی

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

    • مصطفی آصفی

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

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