شما به این ویدیو دسترسی ندارید
شما به این ویدیو دسترسی ندارید
سلام و عرض ادب
استاد ویدیوی تک قسمتی evaluation رو از ویدیوهای تک قسمتی برداشتین ؟
من سرچ میکنم نمیاد
حتی عبارت class variable evaluation ...
ممنون میشم راهنمایی فرمایید
ارسال نظر
https://www.mongard.ir/one_part/119/python-class-variable-evaluation/
با عرض سلام، منم همین سوال آقا مهدی رو از امیر آقا داشتم(انجام کارهای setup در dispatch) و میدونم هر متدی برای کار خاصی هست . ولی همونطور که دوستمون گفتن بنده کارهای متد setup رو در dispatch نوشتم و برنامه بدون مشکل کار کرد و میتونید امتحان کنید!
اگه وقت کردید این مورد رو روشن تر توضیح بدید ممنون میشم.
از زحماتی میکشید نهایت قدردانی را دارم.
ارسال نظر
درود به استاد عزیز خسته نباشید
یه سوال
چرا ما اول یه بار سیو میزنیم و کامیت رو فالس میکنیم خب اینکار رو نکنیم چی میشه ؟ چرا باید اول سیو کنیم بدون کامیت شدن ؟ خب کارمون رو ادامه بدیم آخر سر سیو کنیم بره
میدونم جنگو میگه باید اینجوری باشه
از لحاظ دیتابیسی و اینا میگم
ارسال نظر
سلام
اینو دیگه باید برید سورس کد جنگو رو بخونید
اگه اشتباه نکنم با انجام این کار(اینکه آرگومان commit رو false قرار بدیم و ...) یه آبجکت موقت از کلاس post با توجه به همون پارامتری که موقع ساخت form به آرگومان instance داده شده میسازه و در نهایت وقتی این آبجکت رو بعد از تغییرات، save میکنیم، ابجکتی که قصد داریم در model ها آپدیت بشه رو با اطلاعاتِ همین آبجکت موقتی که ساحته، آپدیت میکنه.
در واقع فکر کنم اگه اون کار رو نکنیم آبجکت موقت ساخته نمیشه.
انشاءالله اگه درست نگفته باشم آقای بیگدلو تصحیح میکنه :)
دقیقا آقا امین درست فرمودن. اگه ما اینکار رو نکنیم بار اضافی به دیتابیس دادیم و باید بریم دوباره از خود دیتابیس مقدار فیلد body رو بگیریم و به slug بدیم که هم پیچیده میکنه کار رو و هم فرایند رو کند تر میکنه
عالی بود
من اینطوری نوشتم
new_form.slug = '-'.join(form.cleaned_data['body'].split()[:7])
بخوبی هم کار میکرد ولی این ویدیو رو دیدم فهمیدم چرخ رو از نو ساختم:)
بجاش از slugify استفاده کردم
ارسال نظر
سلام وقت بخیر
برای من django massgges کار نمی کنه چیکار باید بکنم
ارسال نظر
سلام
خب حتما یه جایی رو اشتباه کردی دیگه. باید مشکل رو پیدا کنی
سلام وقت بخیر ۲ تا سوال داشتم از این ویدیو
۱ - توی متد post و داخل بدنه ی اعتبارسنجی ( if form.isvalid ) چرا باید از یه متغیر جدید ( new_post ) واسه تغییر slug استفاده کنیم ؟ چرا نمیشه مستقیما از خود form واسه این کار استفاده کرد ؟ مثل این
form.slug = form.cleaned_data['body'][:30]
form.save()
۲ - اصلا نمیتونم درک کنم که چرا new_post باید برابر با save شده ی form باشه یعنی اینجوری
new_post = form.save(commit=False)
چرا نمیشه از خود form استفاده کرد و حتما باید اول سیوش کنیم ؟
ارسال نظر
سلام
چون رفتار جنگو اینجوریه. توی مستندات هم نشون دادم جنگو اینطور نوشته شده
چون form از روی کلاس فورمی که در forms.py تعریف کردیم درست شده و فیلد slug رو نداره و یا باید یک آبجت دیگر از روی form درست کنیم و یک فیلد دیگه به اسم slug نسبت بدیم و...(مثل بالا) و یا باید در کلاس تعریف شده در forms.py یک فیلد دیگر به نام slug و با خصوصیت پنهان درست کنیم و روی form مستقیم متد save بزنیم.
امیر جان مرسی از اموزش خوبت
سوالی که پیش میاد در این قسمت اینه که چرا از متد setup استفاده کردی؟ نمیشد همین کارو اول متد dispatch انجام بدی؟ اینجوری ویو هم لاغر تر نمیشد تا اینکه یه متد دیگه هم اضافه بشه به متد ها؟
ارسال نظر
سلام
خیر. هدف این دو متد با هم فرق داره و نباید به جای هم استفاده کرد.
متد dispatch قبل از get و post اجرا میشه و تموم میشه. دیگه نمیشه به اطلاعاتش دسترسی داشت.
اگر بخوایم اطلاعات در تمام متدها در دسترس باشه باید از setup استفاده کرد.
ویدیوهای تک قسمتی که برای setup و dispatch ضبط کردم رو ببین.
ارسال نظر