本文整理汇总了Python中accounts.models.User.current_login_ip方法的典型用法代码示例。如果您正苦于以下问题:Python User.current_login_ip方法的具体用法?Python User.current_login_ip怎么用?Python User.current_login_ip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类accounts.models.User
的用法示例。
在下文中一共展示了User.current_login_ip方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from accounts.models import User [as 别名]
# 或者: from accounts.models.User import current_login_ip [as 别名]
def post(self):
context = self.get_context()
form = context.get('login_user_form')
if form.validate():
try:
user = User.objects.get(email=form.email.data)
except DoesNotExist:
user = User(email=form.email.data)
if 'X-Forwarded-For' in request.headers:
remote_addr = request.headers.getlist("X-Forwarded-For")[0].rpartition(' ')[-1]
else:
remote_addr = request.remote_addr or 'untrackable'
old_current_login, new_current_login = user.current_login_at, datetime.utcnow()
old_current_ip, new_current_ip = user.current_login_ip, remote_addr
user.last_login_at = old_current_login or new_current_login
user.current_login_at = new_current_login
user.last_login_ip = old_current_ip or new_current_ip
user.current_login_ip = new_current_ip
user.login_count = user.login_count + 1 if user.login_count else 1
user.save()
login_user(user)
flash("Logged in user")
return redirect(url_for('pages.home'))
else:
flash_errors(form)
return render_template('home.html', **context)