سلام استاد میخواستم یه بخشی باشه که اگر کاربر اکانت داشته که لاگین شه با شماره تماس
اگرم نداشت ثبت نام بکنه بعد وارد اکانت بشه
میخواستم این کد رو ببینید که مناسب هست یا نه؟
سلام خدمت شما دوست عزیز
به صورت کلی نمیشه در مورد کد شما اظهار نظر کنم دوست من
اما در دید اول میشه گفت که شما باید regex رو در سمت سرور هم چک کنین
صرفا چک کردن شماره تلفن با استفاده از js کافی نیست و کاربر اگر برنامه نویس باشه میتونه کدهای js شما رو غیرفعال و یا تغییر بده
ممنون و استاد به سوال دیگه هم برام پیش میاد
این که وقتی داخل پرتال خود جنگو وارد اکانتم میشم
یه سری بخشها که نیاز به اینکه لاگین باشی برای نمایش ، ظاهر میشن
اما وقتی با شماره تماس عمل لاگین انجام میشه این اتفاق نمی افته
بنظر شما مشکل از چی میتونه باشه؟
احتمالا فرایند لاگین انجام نشده دوست من
زمانی که با موبایل وارد سایت میشین، چک کنین که حتما در cookie های مرورگر مقدار sessionid پر شده باشه
استاد من حتی پرینت گرفتم دیدم پرشده
User logged in but session ID is missing for user: 1
Session ID: 3168r9yqen7yzjh9l57mfiyrpqtiy1bi
بازم به همون شکل حتی گفتم شاید کش شده باشه ctrl f5 زدم باز همونه
وقتی عملیات انجام میشه میبینم که بازم {% if user.is_authenticated %}
انجام نشده اما وقتی میام داخل پنل ادمین جنگو میبینم زده وارد شده اما خبری نیست
لطفا کدهای مربوط به فایل views که برای لاگین نوشتین رو ارسال کنین دوست من
class LoginView(View):
def get(self, request):
login_form = LoginForm()
context = {
'login_form': login_form
}
return render(request, 'login.html', context)
def post(self, request):
login_form = LoginForm(request.POST)
if login_form.is_valid():
user_number = login_form.cleaned_data.get('number')
user_pass = login_form.cleaned_data.get('password')
user = User.objects.filter(number__iexact=user_number).first()
if user is not None:
is_password_correct = user.check_password(user_pass)
if is_password_correct:
login(request, user)
return redirect(reverse('home_module'))
else:
login_form.add_error('password', 'کلمه عبور اشتباه است')
else:
login_form.add_error('number', 'کاربری با مشخصات وارد شده یافت نشد')
context = {
'login_form': login_form
}
return render(request, 'login.html', context)
به نظر کد شما مشکلی نداره
لطفا سورس پروژتون رو در یک جا آپلود کنین و لینک دانلود رو برای من ارسال کنین تا پروژه رو کامل بررسی کنم
استاد داخل عکس ها که فرستادم تابع لاگین و رجیستر یکی بودن ولی بعدش که تغییر دادم و جداشون کردم باز هم اون مشکل وجود داره
خدمت شما
https://s32.picofile.com/file/8479132268/1234.rar.html
مشکل رو پیدا کردم دوست من
شما یک مدل برای کاربر ایجاد کردین توی پروژه و موبایل رو به اون اضافه کردین
اما در نظر داشته باشین که مدل اصلی کاربر تغییر نکرده
شما باید توی فایل saettings.py تنظیمات مربوط به مدل کاربر رو انجام بدین دوست من وگرنه سیستم با مشکل مواجه میشه
الان شما توی دیتابیستون 2 تا جدول برای کاربرانتون دارین اما دستور لاگین با کاربر خودش کار میکنه نه اونی که شما ساختین
دیتابیس رو کامل پاک کنین
توی فایل settings.py این کد رو اضافه کنین:
AUTH_USER_MODEL = 'account_module.User'
تمامی migration های موجود ( منظورم فایل های پایتون موجود در پوشه ی migrations هستش ) در account_module رو به جز فایل __init__ پاک کنین
مجددا make_migrations بزنین و بعد migrate
دیتابیس رو چک کنین که 2 تا جدول برای کاربر نداشته باشین
استاد ممنون از راهنماییتون خیلی لطف کردین
خواهش میکنم دوست من
موفق باشین :)