مدت :

۳ ساعت و ۲۰ دقیقه

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

درباره مدرس 

اطلاعات دوره

توضیحات

این آموزش، فصل دوم از آموزش فروشگاه با ری اکت و جنگو است. در فصل اول آموزش فروشگاه اینترنتی با ری اکت و جنگو (+) به کدنویسی فرانت اند فروشگاهمان با کتابخانه ری اکت پرداختیم. حالا در این فصل سراغ کدنویسی سرور و در واقع بک اند پروژه می‌رویم. ما برای کدنویسی بک اند در این فصل از جنگو پایتون استفاده خواهیم کرد. ساخت فروشگاه اینترنتی با جنگو ایده جذابی است اما ما از Django سنتی استفاده نمی‌کنیم! به کمک فریمورک Django REST یک سیستم API طراحی می‌کنیم که پروژه جنگوی ما به جای html در جواب فراخوانی url ها جیسون به سمت فرانت اند پرتاب کند. پس این یک فروشگاه اینترنتی با django rest خواهد بود.

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

 

آموزش-ساخت-فروشگاه-فول-استک-با-جنگو-و-ری-اکت-ریکت-هم-رویش

این آموزش بخشی از بسته جامع ساخت فروشگاه با جنگو و ری اکت (+) است.

شما می‌توانید بسته جامع با با مجموع قیمت کمتر از این لینک (+) تهیه کنید یا این مجموعه را فصل به فصل دریافت و تماشا کنید.

 

فهرست فصل‌‌به‌فصل آموزش ساخت فروشگاه جنگو/ریکت

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

ما دوره را با تعریف اپ Full Stack (+) و چرخه ارتباط Backend و Frontend شروع کردیم. آنگاه سراغ کدنویسی رفتیم. یک پروژه جنگو از صفر ساختیم. دیدیم که با جنگو به تنهایی می‌توان یک سیستم Web API ساخت اما باید بسیاری موارد را مدیریت کنیم. اینجا بود که سراغ Django REST Framework (+) رفتیم.

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

سپس به سمت ری اکت (فرانت اند)‌ رفتیم. باید url های ساخته شده را از این سمت صدا می‌کردیم. برای ارسال درخواست‌ از Axios استفاده کردیم. اکسیوس در ری اکت برای ارسال درخواست و مدیریت پاسخ وب به صورت Async استفاده می‌شود. ضمنا در جریان کار با اکسیوس در مورد مفهوم Hook در React و هوک های State و Effect نیز گفتیم. دیدیم که چگونه می‌توان وضعیت کامپوننت‌های ریکت را با داده‌های دریافتی از سرور به کمک این هوک‌ها به‌روز کرد. مثلا داده‌های محصولات دریافتی را در کامپوننت HomeScreen و در کاشی‌های مربوطه درج کردیم.

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

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

دیتابیس را در جنگو ایجاد کردیم. امکان آپلود عکس در جنگو را آموختیم. از طریق پنل مدیریت داده‌های نمونه وارد پایگاه داده کردیم. یاد گرفتیم که کار Serializer در Django REST چیست. سرانجام به کمک سریالایزر کوئری دیتابیس را به جیسون تبدیل کردیم. در پایان این فصل موفق شدیم که داده‌های واقعی دیتابیس جنگو را به سمت ری اکت پرتاب کنیم و در فرانت اند نمایش دهیم.

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

 

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

 

پیشنیاز:

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

همچنین اگر قصد شروع از صفر دارید به ترتیب موارد زیر پیشنهاد می‌شود:

 

کلیدواژگان

آموزش فروشگاه اینترنتی با جنگو و ری اکت – طراحی فروشگاه با django و react – ساخت فروشگاه با react – فروشگاه آنلاین با ری اکت و جنگو – کدنویسی بک اند – آموزش django rest framework – کار با اکسیوس – فروشگاه با django rest – آموزش هوک – معنی hook state – معنی hook effect – کار با عکس در جنگو – آپلود عکس – مفهوم meida root و media url – کار با دیتابیس در جنگو – مفهوم سریالایزر در جنگو رست – دیاگرام دیتابیس و اهمیت آن

ریز محتوای فیلم‌ها

ریز محتوای فیلم‌ها

درس ۰: معرفی دوره

  • نگاهی به پروژه در پایان فصل دوم
  • نگاهی به درس‌های این فصل
  • پیشنیاز و مسیر پیش رو

 

درس ۱: چرخه ارتباط Frontend و Backend

  • اپلیکیشن فول استک چیست؟
  • اپ fullstack چه اجزایی دارد؟
  • فرانت اند چیست؟
  • بک اند چیست؟
  • ارتباط frontend و backend چگونه است؟
  • شرح اتصال فرانت اند و بک مبتنی بر پروژه

 

درس ۲: نصب جنگو

  • پیشنیاز نصب django
  • فرق نصب سراسری و استفاده از Virtual Environment
  • ایجاد محیط مجازی با venv پایتون
  • نصب جنگو با دستور pip install Django
  • ایجاد پروژه جنگو با دستور django-admin statrproject
  • اجرای جنگو روی لوکال هاست با دستور runserver

 

درس ۳: دریافت پاسخ جیسون از جنگو

  • یادآوری ساختار جنگو
  • نقش فایل manage.py در جنگو
  • فایل wsgi چه می کند؟
  • فرق wsgi با asgi
  • نقش settings.py و urls.py سراسری جنگو
  • ایجاد اپ base و افزودن کلاس BaseConfig
  • ایجاد ماژول urls در اپ و فرق urls پروژه و اپ
  • معرفی کلاس JsonResponse و پارامترهای آن
  • ساخت JSON در ویو به جای HttpResponse
  • اجرای پروژه و آزمایش Main Endpoint

 

درس ۴: ساخت API با جنگو

  • سیستم Web API در یک پروژه چطور طراحی می‌شود؟
  • نمونه‌ای از یک سیستم API و اهمیت Versioning
  • نمایش فهرست Endpoint ها و نمایش محصولات
  • تنظیم سیستم API در urls.py سراسری پروژه
  • استفاده از یک لیست پایتون به عنوان محصولات فرضی
  • مفهوم سریالایز کردن پایتون به جیسون

 

درس ۵: نصب و راه اندازی DRF به صورت ریشه‌ای

  • نصب Django REST Framework با pip
  • ایجاد Function-based View در جنگو رست فریمورک
  • تبدیل ویوهای جنگو به ویوهای تابعی جنگو رست
  • مفهوم و کار دکوریتور @api_view
  • معنی پارامتر http_method_names
  • مفهوم و کار کلاس Response جنگو رست
  • راه اندازی پروژه و نمایش خروجی API توسط DRF

 

درس ۶: ایجاد API استخراج یک محصول

  • تنظیم url حاوی id از نوع استرینگ در جنگو
  • دریافت پارامتر دریافتی url در view
  • طراحی منطق ویو برای استخراج یک محصول از روی id

 

درس ۷: فراخوانی API از سمت React

  • معرفی axios و افزودن اکسیوس به ری اکت با npm install
  • لینک مقایسه axios با fetch
  • یادآوری مفهوم hook در ری اکت
  • یادآوری هوک state در ری اکت
  • یادآوری هوک effect در ری اکت
  • افزودن هوک useState و useEffect
  • مفهوم آرایه خالی [] به عنوان پارامتر دوم useEffect
  • ارتباط useEffect با componentsDidMount و componenetDidUpdate
  • روش ارسال get request با اکسیوس و بلاک then
  • روش ارسال ریکوئست get با axios و سینتکس async/await
  • بررسی عمیق نحوه کار تابع async و دستور await در جاوا اسکریپت
  • آزمایش برقراری ارتباط ری اکت و جنگو

 

درس ۸: خطای CORS چیست؟ چطور باید CORS را اجرا کرد؟

  • سیاست SOP یا Same Origin Policy چیست؟
  • خط و مشی CORS یا Cross-origin Resource Sharing چیست؟
  • چرا خطای Origin blocked by CORS در مرورگر نمایش داده می‌شود؟
  • نگاهی به تاریخ توسعه وب و لزوم وجود SOP
  • جایگاه جاوااسکریپت و DOM در پویا کردن سندهای وب
  • سندهای پویای وب آسیب پذیر در اثر حمله‌های Cross Site
  • مفهوم هدر origin و access control allow origin
  • مقدار * و مقدار دقیق به عنوان منشا
  • مفهوم origin یا منشا یکسان با طرح مثال
  • مفهوم scheme و host name و port برای یکسان بودن منشا
  • بررسی استاندارد کورس از روی MDN یا Mozilla Developers
  • معنی و شرایط ریکوئست ساده یا simple request
  • مقدارر هدر content type در درخواست‌های ساده
  • بررسی یک request-response ساده و هدرهای آن منطبق با CORS
  • معنی درخواست preflight یا پیش پرواز و شرایط آن
  • فرآیند یک preflighted request و هدرهای آن
  • معنی هدر access-control-request-method
  • معنی هدر access-control-request-hearers
  • معنی access-control-allow-methods و access-control-allow-headers
  • معنی access-control-max-age
  • مفهوم درخواست همراه با credentials
  • ارسال و تنظیم cookie با رعایت CORS
  • مفهوم هدر access-control-allow-credentials
  • بایدهای credentialed requests در تنظیم هدر مطابق CORS
  • معرفی مرجع برای مطالعه آسیب پذیری یا vulnerability مرتبط با CORS
  • چرا با وجود SOP و CORS هنوز خطر حمله CSRF و XSS وجود دارد
  • بررسی یک حالت حمله Cross-site Scripting یا XSS
  • یادآوری برگ رایگان CSRF برای جلوگیری از این حمله‌ها با توکن

 

درس ۹: فعال کردن CORS در جنگو

  • معرفی اپلیکیشن django-cors-headers
  • نصب django-cors-headers با pip در جنگو
  • افزودن corsheaders به installed_app پروژه
  • افزودن CorsMiddleware به میدلورهای پروژه
  • تنظیم منشاهای مورد اعتماد با CORS_ALLOWED_ORIGINS
    معنی CORS_ALLOW_ALL_ORIGINS

 

درس ۱۰: فراخوانی جزئیات محصول با تنظیم پروکسی

  • اصلاح کامپوننت ProductScreen مشابه HomeScreen
  • افزودن useEffect و useSate در کامپوننت جدید
  • تبدیل hardcode url به مسیر نسبی در ری اکت
  • تنظیم پروکسی در ری اکت با ویژگی proxy در package.json

 

درس ۱۱: مهاجرت پایگاه داده جنگو

  • یادآوری تنظیمات پیش فرض پایگاه داده در جنگو
  • موتور یا Engine دیتابیس پیش فرض جنگو
  • نرم افزار SQLiteStudio و نحوه دانلود و استفاده آن
  • امکان تغییر از sqlite به PostgreSQL در django
  • اجرای migrate و ایجاد جدول‌های اپلیکیشن‌های درون ساخته جنگو
  • بررسی ساختار فایل db,sqlite3 در SQLiteStudio

 

درس ۱۲: دیاگرام دیتابیس

  • مفهوم و کاربرد database diagram
  • چرا باید دیاگرام دیتابیس طراحی کنیم؟
  • معرفی ابزار رایگان طراحی جدول‌‌های دیتابیس
  • بررسی طرح پایگاه داده پروژه در drawsql.app

 

درس ۱۳: کدنویسی مدل‌ها

  • تبدیل طرح دیتابیس به مدل جنگو
  • مفهوم AutoField و BigAutoField
  • مفهوم primary_key=True
  • ایجاد ستون id اختصاصی در دیتابیس
  • مفهوم DecimalField و TextField و CharField
  • یادآوری ForeignKey در جنگو و on_delete
  • فرق SET_NULL و CASCADE
  • معنی max_digit و decimal_places
  • یادآوری auto_now_add در DateTimeField
  • فرق blank و null در مدل و فرم جنگو
  • ایجاد مدل همه جدول‌های لازم

 

درس ۱۴: درج داده در دیتابیس توسط پنل مدیریت

  • ایجاد دستور SQL توسط makemigrations و فایل initial
  • تبدیل مدل به جدول پایگاه داده توسط دستور migrate
  • ثبت نام مدل در پنل مدیریت (Admin Site) با متد register
  • ایجاد یک نمونه داده محصول در دیتابیس توسط پنل مدیریت
  • نمایش استرینگی رکوردها با تنظیم تابع __str__
  • تابع __str__ در پایتون لزوم تبدیل str برای فیلدهای null یا blank
  • بررسی داده درج شده در sqlitestudio

 

درس ۱۵: آپلود عکس در جنگو

  • ایجاد ImageField برای قابلیت بارگذاری عکس در مدل
  • نصب کتابخانه Pillow پیلو در جنگو برای کار با تصویر
  • ساخت migration و مهاجرت تغییرات مدل به جدول دیتابیس
    آپلود عکس در جنگو و مسیر پیش فرض آپلود فایل ها در پروژه
  • ایجاد پوشه static برای فایل‌های css و js و images
  • مفهوم STATICFILES_URL در جنگو
  • مفهوم MEDIA_ROOT و MEDIA_URL در django
  • کار تابع static برای ساخت url از فایل های یک پوشه
  • ساخت لینک عمومی نمایش تصویر بعد از بارگذاری
  • معنی upload_to در FileField و ImageField
  • معرفی منابع مطالعاتی بیشتر

 

درس ۱۶: تبدیل آبجکت کوئری به جیسون با سریالایزر

  • کار serializer در جنگو چیست ؟
  • ایجاد ماژول serializers برای کلاس‌های سریالایزر
  • تبدیل خروجی ویو به جیسون با استفاده از سریالایزر
  • آزمایش خروجی جیسون دیتابیس سمت ری اکت
  • مفهوم پارامتر many و پارامترهای model و fields
  • کار ModelSerializer از ماژول serializers در Django REST
  • نمایش داده‌های جیسون از دیتابیس جنگو در ری اکت

 

درس ۱۷: جمع‌بندی

  • دستاوردهای این فصل
  • نگاهی به مسیر پیش رو
نظرات (10)

10 دیدگاه برای آموزش فروشگاه با ری اکت و جنگو ـــ فصل ۲: بک اند با Django REST

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

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

    • مصطفی آصفی

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

  2. حسن اميري مقدم (خریدار محصول)

    سلام استاد
    من در ساخت python manage.py craetesuperuser با خطا زير مواجه مي شوم
    Traceback (most recent call last):
    File “E:\Learn\Python\react-django-eshop\backend\manage.py”, line 22, in
    main()
    File “E:\Learn\Python\react-django-eshop\backend\manage.py”, line 18, in main
    execute_from_command_line(sys.argv)
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\core\management\__init__.py”, line 446, in execute_from_command_line
    utility.execute()
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\core\management\__init__.py”, line 420, in execute
    django.setup()
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\__init__.py”, line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\apps\registry.py”, line 116, in populate
    app_config.import_models()
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\apps\config.py”, line 304, in import_models
    self.models_module = import_module(models_module_name)
    File “C:\Program Files\Python310\lib\importlib\__init__.py”, line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    File “”, line 1050, in _gcd_import
    File “”, line 1027, in _find_and_load
    File “”, line 1006, in _find_and_load_unlocked
    File “”, line 688, in _load_unlocked
    File “”, line 883, in exec_module
    File “”, line 241, in _call_with_frames_removed
    File “E:\Learn\Python\react-django-eshop\backend\base\models.py”, line 8, in
    class Product(models.Model):
    File “E:\Learn\Python\react-django-eshop\backend\base\models.py”, line 11, in Product
    name = models.CharField(max_length=200 , NULL=True)
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\db\models\fields\__init__.py”, line 1097, in __init__
    super().__init__(*args, **kwargs)
    TypeError: Field.__init__() got an unexpected keyword argument ‘NULL’

    • مصطفی آصفی

      سلام به شما. خطا رو اگه دقت کنید داره میگه (اون آخرا) تو خط ۱۱ موقع تعریف مدل Product ایراد دارین. اون Null رو نباید با حرف بزرگ می نوشتین. احتمالا مشکل همونه. سعی کنید لاگ خطا رو با دقت بخونید.

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

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

    gitHubRepositoryLink

    • مصطفی آصفی

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

  4. مسعود

    سلام. ورژن جنگو که آموزش میدید 3 هست یا 4؟

    • مصطفی آصفی

      سلام به شما. نسخه ۳ استفاده شده.

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

    سلام و عرض ادب
    میشه لطفا طریقه آپلود video هم بفرمایید

    • مصطفی آصفی

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

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

    سلام استاد واقعا خسته نباشید و خدا قوت.خیلی فصل هیجان انگیز و باحالی بود. اتفاقا بعد از این فصل ما قدر جنگو رست فریم ورک رو بیشتر می‌دونیم.
    از ابزاری هم که برای تحلیل و ترسیم دیاگرام معرفی کردید خیلی سپاس گذارم واقعا عالی بود
    https://drawsql.app/
    فقط استاد ما چطور میتونیم قدرت تحلیل در این زمینه رو افزایش بدیم؟

    • مصطفی آصفی

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

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

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

    یک نکته ای هم برای دوستان ذکر کنم که تا الان که این پست رو مینویسم به هیچ وجه پکیج react-router-dom رو از نسخه ی 5.3 به 6 ارتقا ندن
    چون با ورژن 0.25.0 recat-router-bootstrap سازگاری نداره و سایت به کلی با مشکل مواجه میشه.

    راستی دو پیشنهاد هم برای سایت همرویش داشتم

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

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

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

    • مصطفی آصفی

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

  8. حسین

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

    • مصطفی آصفی

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

  9. نقی

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

    • مصطفی آصفی

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

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

    فصل سوم کی منتشر میشه؟

    • مصطفی آصفی

      سلام به شما. انشالله سعی می کنم ظرف ۱۰ تا ۱۴ روز آینده باشه.

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

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

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

10 دیدگاه برای آموزش فروشگاه با ری اکت و جنگو ـــ فصل ۲: بک اند با Django REST

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

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

    • مصطفی آصفی

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

  2. حسن اميري مقدم (خریدار محصول)

    سلام استاد
    من در ساخت python manage.py craetesuperuser با خطا زير مواجه مي شوم
    Traceback (most recent call last):
    File “E:\Learn\Python\react-django-eshop\backend\manage.py”, line 22, in
    main()
    File “E:\Learn\Python\react-django-eshop\backend\manage.py”, line 18, in main
    execute_from_command_line(sys.argv)
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\core\management\__init__.py”, line 446, in execute_from_command_line
    utility.execute()
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\core\management\__init__.py”, line 420, in execute
    django.setup()
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\__init__.py”, line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\apps\registry.py”, line 116, in populate
    app_config.import_models()
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\apps\config.py”, line 304, in import_models
    self.models_module = import_module(models_module_name)
    File “C:\Program Files\Python310\lib\importlib\__init__.py”, line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    File “”, line 1050, in _gcd_import
    File “”, line 1027, in _find_and_load
    File “”, line 1006, in _find_and_load_unlocked
    File “”, line 688, in _load_unlocked
    File “”, line 883, in exec_module
    File “”, line 241, in _call_with_frames_removed
    File “E:\Learn\Python\react-django-eshop\backend\base\models.py”, line 8, in
    class Product(models.Model):
    File “E:\Learn\Python\react-django-eshop\backend\base\models.py”, line 11, in Product
    name = models.CharField(max_length=200 , NULL=True)
    File “E:\Learn\Python\react-django-eshop\shopenv\lib\site-packages\django\db\models\fields\__init__.py”, line 1097, in __init__
    super().__init__(*args, **kwargs)
    TypeError: Field.__init__() got an unexpected keyword argument ‘NULL’

    • مصطفی آصفی

      سلام به شما. خطا رو اگه دقت کنید داره میگه (اون آخرا) تو خط ۱۱ موقع تعریف مدل Product ایراد دارین. اون Null رو نباید با حرف بزرگ می نوشتین. احتمالا مشکل همونه. سعی کنید لاگ خطا رو با دقت بخونید.

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

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

    gitHubRepositoryLink

    • مصطفی آصفی

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

  4. مسعود

    سلام. ورژن جنگو که آموزش میدید 3 هست یا 4؟

    • مصطفی آصفی

      سلام به شما. نسخه ۳ استفاده شده.

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

    سلام و عرض ادب
    میشه لطفا طریقه آپلود video هم بفرمایید

    • مصطفی آصفی

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

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

    سلام استاد واقعا خسته نباشید و خدا قوت.خیلی فصل هیجان انگیز و باحالی بود. اتفاقا بعد از این فصل ما قدر جنگو رست فریم ورک رو بیشتر می‌دونیم.
    از ابزاری هم که برای تحلیل و ترسیم دیاگرام معرفی کردید خیلی سپاس گذارم واقعا عالی بود
    https://drawsql.app/
    فقط استاد ما چطور میتونیم قدرت تحلیل در این زمینه رو افزایش بدیم؟

    • مصطفی آصفی

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

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

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

    یک نکته ای هم برای دوستان ذکر کنم که تا الان که این پست رو مینویسم به هیچ وجه پکیج react-router-dom رو از نسخه ی 5.3 به 6 ارتقا ندن
    چون با ورژن 0.25.0 recat-router-bootstrap سازگاری نداره و سایت به کلی با مشکل مواجه میشه.

    راستی دو پیشنهاد هم برای سایت همرویش داشتم

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

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

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

    • مصطفی آصفی

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

  8. حسین

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

    • مصطفی آصفی

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

  9. نقی

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

    • مصطفی آصفی

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

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

    فصل سوم کی منتشر میشه؟

    • مصطفی آصفی

      سلام به شما. انشالله سعی می کنم ظرف ۱۰ تا ۱۴ روز آینده باشه.

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

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