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



0

intro

3:41

رایگان

1

blueprint

6:12

رایگان

2

custom user model

16:10

رایگان

6

user register

12:26

7

session

17:14

8

verify code

14:34

9

send sms

14:53

10

static files

14:34

11

shop models

12:31

12

media files

6:55

13

product detail

11:50

14

django storages

16:40

15

celery

11:59

16

bucket

10:19

17

bucket contents

22:59

18

bucket delete

17:6

19

bucket download

12:1

20

user passes test

16:47

23

celery beat

20:46

24

supervisord

20:7

25

category

10:41

27

orders

9:50

28

cart

10:18

29

cart add

9:7

30

cart detail

17:15

31

cart remove

10:5

33

order models

15:32

34

order checkout

13:53

35

zarinpal

17:54

36

zarinpal 2

13:20

37

coupon

25:5

38

permissions

33:57

39

get_form

8:54

40

postgresql

12:5

41

cache

14:54

42

ckeditor

13:43

دوره های پیشنهادی

دوره آموزش پروژه محور پایتون
دوره آموزش پروژه محور پایتون
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش امنیت در وب
دوره آموزش امنیت در وب
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش سلری(celery)
دوره آموزش سلری(celery)
تکمیل ضبط
امیرحسین بیگدلو



ارسال نظر


مسعود

1 سال قبل پاسخ به نظر

مهندس ؟ درست شد :))
اونجایی که محصول را داشتیم اضافه میکردیم من نوشته بودم
product.name
در صورتی که باید فقط product می نوشتم

ارسال نظر



مسعود

1 سال قبل پاسخ به نظر

واقعا مفهوم این خط کدو متوجه نمیشم برای من هم اجرا نمیشه! از گیت هاب خودتونم کپی اش کردم :
<td><a href="{% url 'orders:cart_remove' item.product.id %}">remove</a></td>
آیتم مگه یک دیکشنری با کلید آیدی محصول نیست که شامل نام محصول،قیمت واحد و قیمت کل ...
چطور از داخل این دیکشنری دسترسی به آیدی محصول روشما داشتید و واسته تون اجرا شد؟ من همین خط کد رو چاپ کردم هیچی داخلش نبود و اگر توی اچ رف تگ بنویسم هم پیام خطا میده .. توی ایتر هم اونجایی که شما دستور ایلد رو میزنید حلقه فور فقط داره محتوای دیکشنری رومیفرسته ! اصلا اشاره ای به آیدی نداره! آیدی چطور از نام محصولی که توی دیکشنری ثبت شده بدست میاد؟

ارسال نظر



nima

1 سال قبل پاسخ به نظر

سلام
تو قسمت total price اینطوریم میشد نوشت
def get_total_price(self): sum(item['total_price'] for item in self.cart.values())

ارسال نظر



جوانپور

2 سال قبل پاسخ به نظر

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

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

سلام
بله. این بخش رو من اشتباه کردم.
قیمت رو باید در مدل ذخیره کنید.


جوانپور

2 سال قبل

بله قیمت رو که انجام دادم ذخیره کردنش در مدل رو
ولی در ویو verify چطوری id یا amount رو که مربوط به تون کاربره بدون گلوبال کردن بهش دسترسی داشته باشیم؟


امیرحسین بیگدلو

2 سال قبل

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


جوانپور

2 سال قبل

خب هر کاربر ممکنه چند تا سفارش داشته باشه چطوری ایدی اون رو میشه پیدا کرد؟


امیرحسین بیگدلو

2 سال قبل

شما برای هر سفارش، آیدی کاربر رو ذخیره کنید. بعد با آیدی کاربر به تمام سفارش‌هاش دسترسی دارید.

علیرضا

2 سال قبل پاسخ به نظر

سلام خسته نباشید، یه سوال فرض کنید کسی که داره پرداخت میکنه در ویو ارسال ریکویست به زرین پال بیاد و در url price رو تغییر بده. خب این الان همون مبلغ رو پرداخت میکنه و paid هم برابر با true میشه در آخر سر. راه حل این مشکل چیه؟

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

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


علیرضا

2 سال قبل

متوجه نمیشم یعنی چی قیمت را تو کدوم مدل تعریف کنیم؟


امیرحسین بیگدلو

2 سال قبل

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

عارف

2 سال قبل پاسخ به نظر

سلام استاد اگه سایت فقط با api نوشته شده باشه هم میشه از همین روش استفاده کرد؟
سوال بعدی اینکه پرداخت رو میشه با cbv نوشت؟

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

سلام
بله
بله

امیر

2 سال قبل پاسخ به نظر

سلام استاد . کدی که جدیدا توی گیت هاب هست به جای client سه تا پارامتر گذاشته
ZP_API_REQUEST
ZP_API_VERIFY
ZP_API_STARTPAY
الان به چه صورت باید تنظیم کنیم اینا رو ؟

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

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


امیر

2 سال قبل

با اون کد قبلی کلا بالا نمیومد . من این کد جدیده رو گذاشتم فقط با این ارور مواجه میشم :
TypeError at /orders/payment/12000
list indices must be integers or slices, not str
با اینکه اون قسمتا رو به حالت اینتجر برگرددوندم . به نظرتون چکار کنم ؟
تمام گیر من این مدت شده همین درگاه پرداخت


امیرحسین بیگدلو

2 سال قبل

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


علیرضا

2 سال قبل

سلام بنده تست کردم کد قبلی رو . کار میکنه فقط ارور کد رو اگر مرچنت ایدی نداشته باشی بهت نشون نمیده !

مصطفی

2 سال قبل پاسخ به نظر

سلام استاد خسته نباشید.
وقتی پرداخت انجام می شود و تابع verify فراخوانی میشه این خطا را می دهد:(name 'amount' is not defined) من کاملا مثل خودتون نوشتم نمیدونم چرا این خطا را می دهد.
ممنون میشم اگر می دونید راهنمایی ام کنید.

ارسال نظر



امیرحسین بیگدلو

2 سال قبل

سلام
مقدار amount در دسترس نیست. ممکنه در تورفتگی‌ها اشتباه کرده باشید

بهزاد

3 سال قبل پاسخ به نظر

با سلام

result.RefID که پاک کردید شناسه پرداخت هستش

ارسال نظر



امیرحسین بیگدلو

3 سال قبل

سلام. ممنون

parsa

3 سال قبل پاسخ به نظر

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

ارسال نظر



امیرحسین بیگدلو

3 سال قبل

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


امیر سلمانی

2 سال قبل

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


امیرحسین بیگدلو

2 سال قبل

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

پرهام روزبه

3 سال قبل پاسخ به نظر

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

ارسال نظر



امیرحسین بیگدلو

3 سال قبل

سلام
مشکل برطرف شد

مونگارد