Django管理员如何解锁您自己的帐户?

时间:2017-02-09 11:25:59

标签: django django-admin

在Django管理员中,我错误地通过尝试错误的密码来锁定自己。 我后来删除了用户并使用manage.py createsuperuser创建了另一个用户。但是,它仍然说我被锁定了。我如何解锁自己?

当我尝试使用Django admin登录时出现以下错误。

帐户已锁定:登录尝试次数过多。联系管理员以解锁您的帐户。

3 个答案:

答案 0 :(得分:3)

鉴于您的错误消息和3次点击政策,我假设您的项目中有django-axes。无论用户如何,您都可以将其配置为按IP阻止。这可以解释为什么创建新用户不起作用。

Djang-axes documentation为您提供了如何清除锁定的概述。

  

manage.py axes_reset将重置所有锁定和访问记录。

如果您目前正在制作并且不想冒重置任何有效锁定的风险,您可以尝试仅重置ip

  

manage.py axes_reset ip will clear lockout/records for ip

因此,例如,如果您在服务器所在的同一台计算机上登录,则可以使用localhost: manage.py axes_reset ip 127.0.0.1

如果由于某种原因无效,您仍然可以选择从数据库中手动删除AccessAttempt。当然,这假定您可以访问您的数据库,您的用户具有删除权限,您熟悉sql,并且您没有更改django-axis的默认表名。

delete from axes_accessattempt where username ='your_username';其中'your_username'是您要解锁的帐户。

这也可以通过ip完成: delete from axes_accessattempt where ip_address='your_ip';其中'your_ip'是您正在使用的计算机的IP地址。

答案 1 :(得分:2)

从命令行重置尝试:

  1. python manage.py axes_reset 将重置所有锁定和访问记录。
  2. python manage.py axes_reset_ip [ip ...] 将清除给定 IP 地址的锁定和记录。
  3. python manage.py axes_reset_username [username ...] 将清除给定用户名的锁定和记录。
  4. python manage.py axes_reset_logs (age) 将重置(即删除)早于给定年龄(默认为 30 天)的 AccessLog 记录。

答案 2 :(得分:1)

是的,我是怎么做的..使用<?php // connect to the database include('variables.php'); // get the records from the database $sql = "SELECT * FROM products ORDER BY id ASC LIMIT 0, 6"; $result = $connection->query($sql); $getImage=mysqli_query($connection, "SELECT * FROM products ") or die("Could not retrieve image: " .mysqli_error($connection)); $path=mysqli_fetch_assoc($getImage) or die("Could not fetch array : " .mysqli_error($connection)); if ($result) { // output data of each row while($row = $result->fetch_assoc()) { echo '<li class="span3"><div class="product-box">'; echo'<span class="sale_tag"></span>'; echo'<p><a href="product_detail.php?id=' . $row["id"] . '"><img src="../backend/images/'.$path['productimage'].'" width="250" height="120"></a></p>'; echo $row["name"]. "</a><br>"; echo'<a href="products.html" class="category">' . $row["categoryname"]. '</a>'; echo'<p class="price">KSh:' . $row["price"].'</p>'; echo'</div></li>'; } } ?> 转到shell 输入以下命令

python manage.py shell

如果需要数据,则必须通过

仅删除包含用户名的对象
from axes.models import AccessAttempt
AccessAttempt.objects.all().delete()