主页上的 Flask 要求的表格

Flask required form on home page

我正在寻找某种 Flask 示例,该示例在我网站的主页上使用所需的表格,要求用户 select 一个选项,然后才能进入网站的其余部分。该表单用于从我的 mongo 数据库中 select 收集一个集合。在访问网站的其他任何地方之前,我需要知道用户想要使用什么集合。完成此操作后,我需要确保我可以在我的其他路线和网站上的视图中使用此信息。

您想要的是实现登录基础结构。

使用 flask,你有一个基本模板,其他模板都是 extending,你可以做如下事情:

base.html:

{% if current_user.is_authenticated %}
    <content>
        {% block content %}
        {% endblock %}
    </content>  
{% else %}
    <login-form>
        {% block content %}
        {% endblock %}
    </login-form>
{% endif %}

使用此代码,仅当用户通过身份验证时才会显示内容。在 login-form HTML 中,您应该有一个 form 来询问验证用户身份所需的凭据,然后允许他们访问网站的其余部分。

在其他模板文件中,你继续沿用同样的做法:

dashboard.html:

{% extends 'base.html' %}
{% block content %}
  <YOUR HTML CONTENT>
{% endblock %}

dashboard.html 的内容仅向用户显示,如果他们已登录(current_user.is_authenticated = True)

这是因为 dashboard.html 显示在 base.htmlcontent 块内 仅在满足该条件时显示或呈现。

您可以使用其他任何东西来代替 is_authenticated,例如选择的集合或类似的东西。方法是一样的。