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



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

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

دوره آموزش امنیت در وب
دوره آموزش امنیت در وب
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش عبارات منظم (regex) در پایتون
دوره آموزش عبارات منظم (regex) در پایتون
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش Multi Processing در پایتون
دوره آموزش Multi Processing در پایتون
تکمیل ضبط
امیرحسین بیگدلو



ارسال نظر


امیرحمزه باقری

8 ماه قبل پاسخ به نظر

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

ارسال نظر



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

8 ماه قبل

سلام
مشکلی نیست،‌ اگر چند بار ویدیو رو ببینی و مستندات رو بخونی متوجه میشی

امیر

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

من کدم رو چند بار چک کردم درست مثل شما پیش میرم ولی به خطا میخورم وقتی میخوام لاگین کنم و خطاشم اینه:
ModuleNotFoundError at /account/login/
No module named 'account/authenticate'

ارسال نظر



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

1 سال قبل

سلام
ماژولی که داری فراخوانی میکنی وجود ندارد


کد زن قهرمان

11 ماه قبل

سلام آخر هر استرینگت توی ستینگ کاما نذاشتی

ramin

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

سلام استاد وقتتون بخیر
به این ارور برخوردم:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
طبق stack overflow به اول settings.py خطوط
import django
()django.setup
اضافه کردم اما مشکل حل نشد و ارور دیگه ای نشون داد:
RuntimeError: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

ارسال نظر



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

1 سال قبل

سلام
اون چیزی که از stack overflow پیدا کردی رو حذف کن.
احتمالا داخل فایل init چیزی اضافه کردی یا داخل فایل apps.py چیزی رو تغییر دادی.
به هر حال از کد و ارور عکس بگیر برام بفرست

Atefe

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

سلام استاد
من یچیزی رو متوجه نمیشم
وقتی اینکلاس emailbackends رو اضافه میکنیم هنوز قسمتی که توی متد post لاگین نوشتیم برای authenticate چرا کاربرد داره؟
اگر توی Settings ما توی auth email backeds ما قسمت Modelbackends رو کلا وارد نکینم چی میشه؟
برام ارتباطشون گنگه

ارسال نظر



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

1 سال قبل

سلام
متد authenticate میره AUTHENTICATION_BACKENDS رو از داخل تنظیمات صدا میزنه


Atefe

1 سال قبل

حالا اگه 'django.contrib.auth.backends.ModelBackend'
رو پیدا نکنه چی میشه؟


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

1 سال قبل

پیدا می‌کنه


Atefe

1 سال قبل

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

Alireza

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

عالی بود
واقعا دمتون گرم برام سوال بود چطور میشه هم با ایمیل و هم با یوزرنیم لاگین کرد

ارسال نظر



sarah

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

سلام وقت بخیر
من بعد از اضافه کردن authentication backend به روش اول به این ارور برخوردم:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
طبق stack overflow به اول settings.py خطوط
import django
()django.setup
اضافه کردم اما مشکل حل نشد و ارور دیگه ای نشون داد:
RuntimeError: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

ارسال نظر



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

2 سال قبل

سلام
احتمالا به مشکل circular import خوردید. به ایمپورت‌هایی که دارید یه نگاهی بندازید که مشکلی نداشته باشن.
و اینکه آیا داخل فایل __init__ چیزی رو ایمپورت کردید؟


ramin

1 سال قبل

سلام وقتتون بخیر ... منم به همین مشکل برخوردم ، این ارور حل کردین ؟ ممنون میشم اگه راهنماییم کنین ...

reza

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

سلام این email=username قرار دادید نمیشد email=email قرار داد چرا username گذاشتید؟ درست متوجه نشدم این قسمتو

ارسال نظر



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

2 سال قبل

سلام
مگه شما داخل متد authenticate آرگومانی به اسم email دارید که بخواید ازش استفاده کنید؟
همونطور که داخل ویدیو گفتم مقداری که از سمت کاربر داره برای ما میاید اسمش username هست اما قراره کاربر داخلش email رو وارد کنه.

فرشاد

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

سلام خسته نباشید

یه سوالی داشتم ، این روشی که استفاده کردید یه مشکلی داره اینکه وقتی ما میخایم با ایمیل وارد بشیم ، ابتدا کوئری میزنه و توی username ها میگرده ، اگر نبود میره سراغ email ها
در واقع مشکل پرفورمنس داره ، چطور میشه یکاری کرد که اگر ایمیل بود فقط توی ایمیل ها بگرده و اگر مثلا username بود، توی username ها

ارسال نظر



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

2 سال قبل

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


فرشاد

2 سال قبل

من با استفاده از چند خط کد که از stackoverflow پیدا کردم ، کوئری هایی که زده میشه به دیتابیس رو بررسی کردم ، وقتی کاربر مثلا username میزنه و اون username پیدا میشه ، دیگه کوئری دوم رو نمیزنه ، ولی وقتی ایمیل وارد میشه ، یک کوئری میزنه به دیتابیس و توی username ها میگرده، چون پیدا نمیشه ،میره یک کوئری دیگه میزنه و توی email ها میگرده ، من میخام یکاری کنم اگر email بود دیگه کوئری نزنه برای username ها و مستقیم فقط یک کوئری بزنه برای email ها

حالا باز اگه من دارم اشتباه میکنم ، لطفا من رو اصلاح کنید ، ممنون میشم


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

2 سال قبل

ترتیب AUTHENTICATION_BACKENDS ها مهمه و جنگو اینها رو به ترتیب میگرده. اگر اولین AUTHENTICATION_BACKEND جواب مثبت بده، جنگو دیگه سراغ بعدی نمیره.
اینکه شما میخواید اول ایمیل رو بررسی کنه و اگر وجود داشت دیگه سراغ username نره، به طور اتوماتیک داره انجام میشه.
فقط کافیه اون AUTHENTICATION_BACKENDS که برای ایمیل نوشتی رو بزاری بالای AUTHENTICATION_BACKENDS نام کاربری.


فرشاد

2 سال قبل

سلام ، ممنون از پاسخ
نه منظورم این نبود ، من میخام چک کنم با یه شرط که اگر ایمیل بود ( مثلا با email validator ) بره توی email ها رو بگرده ، اگر نبود بره توی username ها رو بگرده ، این رو چجور میشه پیاده سازی کرد ، ممکنه یه راهنمایی بکنید
در واقع میخام بهش بگم که دقیقا کجارو بگرده با توجه به مقداری که کاربر وارد کرده

sadjad

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

سلام امیر خسته نباشی
اگر بخوایم فقط براساس ایمیل اعتبارسنجی کنیم، چطوری ویو رو مینویسیم؟
authenticate.py رو چی؟

ارسال نظر



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

2 سال قبل

سلام
در دوره فرشگاه جنگو توضیح دادم.

reza

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

اقا من اشتباه کردم حله یه بخش از کد رو تو ویو ها ننوشته بودم ارور میداد

ارسال نظر



reza

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

The view account.views.view didn't return an HttpResponse object. It returned None instead.

ارسال نظر



reza

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

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

ارسال نظر



Phill

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

mamnoon az amoozeshetoon

ارسال نظر



Phill

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

سلام مرسی از آموزشتون
برای من یه مشکلی داره : وقتی لاگ اوت رو میزنم next رو account/logout قرار میده ولی موقعی که لاگین رو میزنم مقدارش None میشه و logout نمیکنه

ارسال نظر



محمدجواد

3 سال قبل

سلام
کد من هم همین مشکل رو داره و همچنین کد آقای «ali»
گمونم به این خاطره که کلا زمانی که متد user_login با متد GET فراخوانی می شه next توی url قرار داره. ولی زمانی با متد POST فراخوانی میشه (با زدن روی دکمه Login) دیگه نه next توی url هستش و نه مقداری که دفعه اول از متد GET گرفته بود توش مونده (چون متد user_login دوباره فراخوانی شده و کلا تمام متغیر ها خالی میشن و از اول مقدار دهی میشن). در نتیجه مقدار next همیشه موقع اجرا شدن متد login_url روی Null باقی می مونه و شرط redirect اجرا نمیشه. اما در عجبم که چطور توی کد استاد کار کرد؟؟؟

ali

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

سلام چرا این کد کاربر رو ریدایرکت نمیکنه به یو ار ال next?

def user_login(request):
next_url = request.GET.get('next')
if request.method == 'POST':
form = UserLoginForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
user = authenticate(request, username=cd['username'], password=cd['password'])
if user is not None:
login(request, user)
messages.success(request, 'you logged in successfully', 'success')
if next_url:
return redirect(next_url)
return redirect(request.GET.get('next'))
else:
messages.error(request, 'wrong username or password', 'warning')
else:
form = UserLoginForm()
return render(request, 'account/login.html', {'form':form})

ارسال نظر



باب

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

درود ، ممنون از تدریس زیبا
بعدا اگه model user رو بکوبیم از اول بسازیم (روش subtitue)
این decorator بازم کار میکنه ؟

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

این 2 مورد رو تو دوره های بعدی گفتید ؟

ارسال نظر



مهران حیدریان

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

سلام.ممنون بابت آموزش های خوبتون- اینکه با آموزش داکیومنتیشن رو هم نشون میدین خیلی خوب و کاربردی هست

ارسال نظر



مونگارد