隐藏一个 django 网站开发时

2024-05-14 15:18:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在本地机器上开发了一个django网站,现在是时候把它上传到服务器上了。我想在我工作的时候,只有登录的用户才能看到它。 我想到了一个

{% if is_logged_in %}
{% else %}
{% endif %}

我的结构基准.py模板,但并非所有视图都返回上下文,因此它并不总是有效的。在

有没有一种简单的方法不需要修改很多代码来隐藏每个页面?在


Tags: django用户inpy服务器机器模板if
3条回答

使用django.contrib.auth.decorators.login_required。它是一个decorator,它将阻止用户在未登录时查看任何内容。或者您可以找到这个的中间件:http://djangosnippets.org/snippets/1179/。在

中间件会更好,因为它不引人注目,您可以稍后删除它。在

另一种合理的方法是客户端证书。这样,您还可以测试不需要您登录的部件

有两个合理的解决办法。在

  1. 使用中间件请求身份验证(如果需要,我可以将一个示例放到网上,但代码应该很简单)
  2. 在Web服务器中使用身份验证。这样你就可以简单地添加几个IP地址和/或用户来访问。现在,将http身份验证链接到Django非常容易,因此使用mod_wsgi和{}都可以让Apache通过Django对用户进行身份验证。在

相关问题 更多 >

    热门问题