小编aha*_*378的帖子

在 Jinja for 循环中设置变量在迭代之间不会持续

我想遍历一个对象列表并计算有多少对象满足要求。我的代码基于我发现的其他示例,但它不起作用,循环后计数始终为 0。

对于每个房子,我想遍历每个房间并计算有多少房间有一张床。我想输出然后重置下一个房子的计数。

{% for house in city %}
{% set count = 0 %}
    <div>{{ house.address }} has {{ count }} beds in it rooms.</div>
    {% for room in house %}
    {% if room.has_bed == True %}{% set count = count + 1 %}{% endif %}
   {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

python jinja2

5
推荐指数
2
解决办法
8623
查看次数

为 SSL 烧瓶太多重定向

我试图在我的烧瓶应用程序中强制 http 到 https,但在我尝试使用的两种方法中我不断收到错误“重定向过多”。我已经尝试并阅读了类似的 SO 问题,但还没有解决。我究竟做错了什么?

这是使用装饰函数的第一个方法:

def ssl_required(fn):
@wraps(fn)
def decorated_view(*args, **kwargs):
    if request.is_secure:
        return fn(*args, **kwargs)
    else:
        return redirect(request.url.replace("http://", "https://"))

    return decorated_view
Run Code Online (Sandbox Code Playgroud)

这是我的视图函数:

@main.route('/stats', methods=["GET", "POST"])
@ssl_required
@login_required
def stats():

    users = User.query.all()

    return render_template('stats.html', users=users)
Run Code Online (Sandbox Code Playgroud)

这是第二种方法:

@auth.before_app_request
def before_request():
    if request.url.startswith('http://'):
        url = request.url.replace('http://', 'https://', 1)
        code = 301
        return redirect(url, code=code)
Run Code Online (Sandbox Code Playgroud)

这个视图函数是:

@main.route('/stats', methods=["GET", "POST"])
@login_required
def stats():

    users = User.query.all()

    return render_template('stats.html', users=users)
Run Code Online (Sandbox Code Playgroud)

python ssl flask

5
推荐指数
0
解决办法
1068
查看次数

标签 统计

python ×2

flask ×1

jinja2 ×1

ssl ×1