Django锁定身份验证 - 登录表单不起作用

时间:2013-07-29 08:25:58

标签: django

我一直在调查锁定整个页面的方法。一位同事提请我注意django-lockdown。我安装了,我的代码看起来像这样:

INSTALLED_APPS += ('lockdown',)
MIDDLEWARE_CLASSES += ('lockdown.middleware.LockdownMiddleware',)
LOCKDOWN_PASSWORD = 'letmein'

我正在使用提供的模块代码,该代码包含如下所示的位桶:

{% extends "lockdown/base.html" %}

{% block title %}Coming soon...{% endblock %}

{% block content %}
<div id="lockdown">
  <h2>Coming soon...</h2>

  <p>This is not yet available to the public.</p>

  {% if form %}

  <form action="" method="post">
    {{ form.as_p }}
    <p><input type="submit" value="Preview"></p>
  </form>

  {% endif %}

</div>
{% endblock %}

当我在本地运行服务器时,我没有错误,但表单本身不会出现在屏幕上。没有地方输入密码让我相信{%if form%}可能不是真的。

网上没有很多文档,所以我很难解决这个错误。

2 个答案:

答案 0 :(得分:3)

您的锁定密码应为a tuple。像LOCKDOWN_PASSWORDS =('letmein','beta')。

此外,您不应该编写模板来使其正常工作。 Django-lockdown包括电池。开箱即用(这只是这个):

  • pip install django-lockdown,
  • 添加'lockdown',(带尾随逗号)到APPS,
  • 将'lockdown.middleware.LockdownMiddleware',(带尾随逗号)添加到中间件,
  • 添加LOCKDOWN_PASSWORDS =('letmein','beta')

[设置中的所有这些东西]

答案 1 :(得分:0)

来自文档:

  

要使用密码启用已锁定网站或视图的管理预览,请将LOCKDOWN_PASSWORDS设置设置为一个或多个纯文本密码的元组。

所以你应该在设置中有这个:

LOCKDOWN_PASSWORDS = ('let me in', )