Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表传递给Jinja2';s render_模板()_Python_Flask_Jinja2 - Fatal编程技术网

Python 将列表传递给Jinja2';s render_模板()

Python 将列表传递给Jinja2';s render_模板(),python,flask,jinja2,Python,Flask,Jinja2,我有一个名为geolist的列表,就在我所有import语句的下面,后面是一系列函数,其中一个函数将元素附加到geolist 用于填充地理列表的函数 def reverseDNS(IPlist): list(set(IPlist)) print(IPlist) #geolist = [] --- Removed for ip in IPlist: url = "http://ipinfo.io/" + ip + "/json" p

我有一个名为
geolist
的列表,就在我所有
import
语句的下面,后面是一系列函数,其中一个函数将元素附加到
geolist

用于填充
地理列表的函数

def reverseDNS(IPlist):
    list(set(IPlist))
    print(IPlist)
    #geolist = [] --- Removed 
    for ip in IPlist:
        url = "http://ipinfo.io/" + ip + "/json"
        print(url)
        info = str(urllib.urlopen(url).read()) 
        data = json.loads(info) 
        if (("bogon" in data) == False):
            geolist.append(data['loc'])
这是我用来显示geolist内容的测试方法(在末尾提供)(测试目的是检查是否为空)

Python(先试用)

然后试了这个

HTML

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
  </head>

  <body>
    <h1>Tester</h1>
      {% for n in list %}
        <p>{{ n }}</p>
      {% endfor %}
    </body>
</html>

试验
测试员
{列表%中n的%s}
{{n}}

{%endfor%}
我想将(?
geolist
的内容作为
render\u template()
的参数传递并显示它


谢谢。

您如何执行此函数,该函数将元素附加到
地理列表中
——可能您没有执行它。显示更多代码。@furas我使用一个以列表为参数的函数。我将代码附加到posthow/where you execute
reverseDNS
geolist
是局部变量,它只存在于
reverseDNS
中,因此您不能在任何其他函数中使用它。您没有使用
return
来分配外部/全局变量,也没有使用
global
来使用外部
geolist
@furas我有一个名为main的函数,它调用
reverseDNS
。它是traceroute的一个实现。我要把那个密码写上吗?
@app.route("/")
def template_test():
    geo_list = []
    for geo in geolist:
        geo_list.append(geo)

    return render_template('template.html', list=geo_list)
<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
  </head>

  <body>
    <h1>Tester</h1>
      {% for n in list %}
        <p>{{ n }}</p>
      {% endfor %}
    </body>
</html>