Как получить ip-адрес вошедшего пользователя и сравнить его с предыдущим ip-адресом, если ip-адрес отличается, выдается сообщение (Django)
Я совсем новичок в мире программирования на python и django, я разрабатываю свое первое приложение, которое по сути является очень простым блогом. Я хотел бы знать, как сделать то, что я описал в заголовке. Я не создавал модель пользователя, но я использовал settings.AUTH_USER_MODEL, form.py для входа и view.py.
Form.py
class UserLoginForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput)
def clean(self, *args, **kwargs):
username = self.cleaned_data.get('username')
password = self.cleaned_data.get('password')
if username and password:
user = authenticate(username=username, password=password,)
if not user:
raise forms.ValidationError('Account does not exist')
if not user.check_password(password):
raise forms.ValidationError('Wrong password')
if not user.is_active:
raise forms.ValidationError('User disabled')
return super(UserLoginForm,self).clean(*args, **kwargs)
View.py
def login_view(request):
next = request.GET.get('login')
title = 'Login'
form = UserLoginForm(request.POST or None)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username, password=password)
login(request, user)
if next:
return redirect(next)
return render(request,'bloggo/homepage.html', {})
return render(request, 'bloggo/account_form.html', {'form': form, 'title': title})
Спасибо всем!!!