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



0

intro

9:22

رایگان

1

blueprint

9:24

رایگان

2

templates

13:29

رایگان

3

View

6:13

4

account

11:17

5

widgets

11:55

7

user register

12:23

10

user login

9:29

11

lazy querysets

11:35

12

dispatch

5:42

15

user profile

9:51

16

posts

14:9

18

detail page

19:49

19

get_absolute_url

11:41

20

delete post

8:56

21

update post

13:12

22

setup

14:44

23

create post

9:51

24

page not found

14:34

25

gmail smtp

7:51

30

ordering

9:51

32

following

19:9

33

next

5:51

34

comment

10:2

36

method decorator

17:15

37

replies

6:55

38

reply form

13:56

39

post like

20:48

40

search

19:12

41

Error

6:20

42

extending user

13:8

43

edit profile

16:18

44

signals

20:51

45

done

1:39

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

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



ارسال نظر

برای ارسال نظر باید لاگین کنید

ali kazami

1 سال قبل

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


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

1 سال قبل

سلام
۱. بله، میشه
۲. چون ممکنه کاربر به شکل دستی درخواست ارسال کنه و پست یک نفر دیگه رو آپدیت کنه

احمد خسروی

2 سال قبل

توی update قسمت 21 متد get رو ارورو میده
PostUpdateView.get() takes 3 positional arguments but 4 were given
متوجه مشکل نمیشم


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

2 سال قبل

سلام
احتمالا آرگومان اضافی به تابع get فرستادید. اگر مشکلتون حل نشد، از کدتون عکس بگیرید و برام بفرستید

Alireza

3 سال قبل

خسته نباشید
واقعا طرز بیانتون عالیه
چون دوره قبلی دیده بودم متد get و post از حفظ نوشتم
بسیار ممنون


navid

3 سال قبل

سلام استاد
استاد من برای post هام فیلد type رو گذاشتم که یک سری choices داره(text,video,image) و کاربر موقع پست کردن فقط یکی از این ها رو میتونه انتخاب کنه.
حالا برای update پست من چطور میتونم شرطی بزارم که مثلا اگر 'post.type = 'video بود دیگه توی forms.py همه فیلد های video,image,text رو نزاره که کاربر تغییر بده فقط video input رو براش بیاره

با تشکر


امیر

3 سال قبل

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


امیر

3 سال قبل

سلام.
برای آیدیت کردن پست ها توی کد زیر:
def post(self, request, **kwargs):
form = self.form_class(request.POST, instance=self.post_instance)
if form.is_valid():
new_form = form.save(commit=False)
title = form.cleaned_data['title']
new_form.slug = slugify(title)
new_form.save()
messages.success(request, 'post updated' , 'success')
return redirect('Account:profile', request.user.id)
else:
return render(request, self.template_class, {'form': form})

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


ali

4 سال قبل

سلام
من ویو اضافه کردن کامنت جدا نوشتم ولی تو قسمت url مشکل دارم.
وقتی که path مربوط به اضافه کردن کامنت رو زیر همه یو ار ال ها قرار میدم به بقیه ویو ها گیر میده ولی وقتی این path رو بالا همه path ها قرار میدم درست کار میکنه چی کار باید کرد؟


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

4 سال قبل

به نظر میرسه urlهات خیلی شبیه به هم هستند و جنگو نمیتونه بینشون تفاوتی ببینه

amir

4 سال قبل

با سلام و عرض ادب
بنظرم در قسمت ویو(def post_detail) بعد از این که فرم رو اعتبار سنجی کردیم باید redirect رو هم قرار بدیم. (چرا؟) چون وقتی که کامنت رو مینویسیم و ارسال میکنیم اگر صفحه رو رفرش کنیم ، کامنت همینطور تکرار میشه.


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

4 سال قبل

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

باب

4 سال قبل

درود ، ببخشید جسارت میکنم ، ولی فکنم باید برای کامنت گذاشتن ، باید شرط زیر باشد ،
if request.method == 'POST' and request.user.is_authenticated :

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


مونگارد