我一直在调查锁定整个页面的方法。一位同事提请我注意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%}可能不是真的。
网上没有很多文档,所以我很难解决这个错误。
答案 0 :(得分:3)
您的锁定密码应为a tuple。像LOCKDOWN_PASSWORDS =('letmein','beta')。
此外,您不应该编写模板来使其正常工作。 Django-lockdown包括电池。开箱即用(这只是这个):
[设置中的所有这些东西]
答案 1 :(得分:0)
来自文档:
要使用密码启用已锁定网站或视图的管理预览,请将LOCKDOWN_PASSWORDS设置设置为一个或多个纯文本密码的元组。
所以你应该在设置中有这个:
LOCKDOWN_PASSWORDS = ('let me in', )