小编hal*_*ang的帖子

Flask 上下文处理器在导入的模板中不起作用

这些是我写的代码:

应用程序.py

from flask import Flask, render_template

app = Flask(__name__)

@app.context_processor
def inject_foo():
    return dict(foo='bar')

@app.route('/')
def index():
    return render_template('index.html')
Run Code Online (Sandbox Code Playgroud)

索引.html

{% from 'macros.html' import print_foo %}
<p>print_foo: {{ print_foo() }}</p>
<p>foo(directly): {{ foo }}</p>
Run Code Online (Sandbox Code Playgroud)

宏.html

{% macro print_foo() %}
  foo is {{ foo }}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)

这些文件的结构如下:

flask-context-processor-issue/
    application.py
    templates/
        index.html
        macros.html
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序(通过flask run)并转到 时http://localhost:5000,我看到此页面:

print_foo: foo is
foo(directly): bar
Run Code Online (Sandbox Code Playgroud)

foo因为print_foo不见了。我认为原因是宏foo内部不可见print_foo(在导入的模板中)。

我可以foo通过修改以下内容强制全局可见 …

python jinja2 flask

2
推荐指数
1
解决办法
2129
查看次数

Python - 我可以为此目的使用闪光灯库吗?

我想知道我是否可以使用闪烁库(或者可能使用任何库)来完成这些工作。

  1. 我使用 Flask 运行一个 Web 应用程序,在这个应用程序中(也许app.py),我定义了一个名为updated(例如blinker.signal('updated'))的信号。
  2. 在一个单独的过程中,我将任何函数(我称之为subscriber)连接(订阅)到更新后的信号。这个过程就像守护进程一样永远运行。
  3. 每当Web 端发生更新时,我都希望subscriber调用该函数。

所以我写了一些代码:

app.py(烧瓶应用程序)

from flask import Flask
from blinker import signal

app = Flask(__name__)
updated = signal('updated')

@app.route('/update')
def update():
    updated.send('nothing')
    return 'Updated!'
Run Code Online (Sandbox Code Playgroud)

背景.py

import time

from app import updated

@updated.connect
def subscriber(*args, **kwargs):
    print('An update occurred on the web side!')

while True:
    print('Waiting for signals...')
    time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

并使用flask run命令运行 Web 应用程序。现在,当我访问时localhost:5000/update,我可以Updated!在浏览器中看到消息,但看不到 …

python flask blinker

0
推荐指数
1
解决办法
2246
查看次数

对于唯一的整数数组,什么是好的哈希函数(或类似的东西)?

我正在写一个简单的程序来分析彩票.我很好奇相同的数字模式出现的频率.

这是我在Golang中的工作代码:

package main

import (
    "fmt"
    "math/rand"
    "os"
    "sort"
    "sync"

    "github.com/mitchellh/hashstructure"
)

func do(n int, ch chan bool) {
    hashes := make(map[uint64]struct{})

    for i := 0; i < n; i++ {
        numbers := rand.Perm(45)[:6]
        sort.Ints(numbers)

        hash, err := hashstructure.Hash(numbers, nil)
        if err != nil {
            panic(err)
        }

        if _, ok := hashes[hash]; ok {
            ch <- true
            break
        } else {
            hashes[hash] = struct{}{}
        }
    }
}

func main() {
    n := 1000

    ch := make(chan bool)
    duplicated := …
Run Code Online (Sandbox Code Playgroud)

algorithm math go

0
推荐指数
1
解决办法
118
查看次数

标签 统计

flask ×2

python ×2

algorithm ×1

blinker ×1

go ×1

jinja2 ×1

math ×1