小编use*_*780的帖子

将字符串拆分为jinja中的列表?

我在jinja2模板中有一些变量,这些变量是由';'分隔的字符串.

我需要在代码中单独使用这些字符串.即变量是variable1 ="green; blue"

{% list1 = {{ variable1 }}.split(';') %}
The grass is {{ list1[0] }} and the boat is {{ list1[1] }}
Run Code Online (Sandbox Code Playgroud)

我可以在渲染模板之前将它们拆分,但由于它有时在字符串中最多有10个字符串,因此会变得混乱.

在我做之前我有一个jsp:

<% String[] list1 = val.get("variable1").split(";");%>    
The grass is <%= list1[0] %> and the boat is <%= list1[1] %>
Run Code Online (Sandbox Code Playgroud)

编辑:

它适用于:

{% set list1 = variable1.split(';') %}
The grass is {{ list1[0] }} and the boat is {{ list1[1] }}
Run Code Online (Sandbox Code Playgroud)

python jinja2

55
推荐指数
3
解决办法
9万
查看次数

jinja2从字符串加载模板:TypeError:没有指定此环境的加载程序

我在Flask中使用Jinja2.我想从字符串中呈现模板.我尝试了以下两种方法:

 rtemplate = jinja2.Environment().from_string(myString)
 data = rtemplate.render(**data)
Run Code Online (Sandbox Code Playgroud)

 rtemplate = jinja2.Template(myString)
 data = rtemplate.render(**data)
Run Code Online (Sandbox Code Playgroud)

但是两种方法都返回:

TypeError: no loader for this environment specified
Run Code Online (Sandbox Code Playgroud)

我检查了手册和这个网址:https://gist.github.com/wrunk/1317933

但是,在使用字符串时,没有指定选择加载器.

python jinja2 flask

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

迭代jinja2中的pandas数据帧

我有这个数据帧

        id       text
 0      12       boats
 1      14       bicycle
 2      15       car
Run Code Online (Sandbox Code Playgroud)

现在我想在jinja2中做一个选择下拉列表.但我找不到在jinja2中循环数据帧的方法.

我尝试使用to_dict().但是{%for key,x.items()%}中的值

它遍历id和text而不是行.我怎样才能改变这个,所以我可以在模板中做这样的事情?

{% for key,value in x.items() %}
Run Code Online (Sandbox Code Playgroud)

编辑:

正如John Galt建议的那样:

{% for key,value in x.items() %}
    <option value="{{ id }}">{{ text }}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

python jinja2 pandas

13
推荐指数
1
解决办法
7204
查看次数

将 vpn 与 python 请求一起使用

我必须遵循问题。我需要检查某些网址是否正常工作并返回正确的响应。我想为此使用 python 请求。但是,如果设备或地理信息不正确,则 url 中会有重定向,我们需要检查移动站点和多个地理区域的大量 url。

有没有办法通过 Python 请求通过 VPN 工作?

编辑:我忘了提及,这是针对 ubuntu 14.04 服务器的。所以不是家用电脑。在我的笔记本电脑上,我使用 HideMyAss 和 IpVanish,但我想在我的服务器上运行一个 cron 作业来自动检查它。我不需要隐藏任何信息,所以我也可以使用代理。

python vpn python-requests

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

用jinja2替换多个值

我在jinja2中有一个变量:test1 ="这是value1,这是value2"

有:

{{ test1 | replace("value1","my_value1")  }}
Run Code Online (Sandbox Code Playgroud)

我可以替换value1但我还需要替换value2我该怎么做?

我试过了:

{{ test1 | replace("value1","my_value1") | replace("value2","my_value2") }}
Run Code Online (Sandbox Code Playgroud)

但这只会取代value2.

python jinja2

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

高效的解决方案插入或更新行pandas

我有一个具有以下结构的数据框:

              0               1   2
 0   0.00086076    500.00000000  []
 1   0.00086075    819.00000000  []
 2   0.00086072   1162.00000000  []
 3   0.00086071     20.00000000  []
 4   0.00086069  10170.00000000  []
 5   0.00086067     18.00000000  []
Run Code Online (Sandbox Code Playgroud)

然后我有另一个带有更新值的数据框:

              0               1   2
 0   0.00086071     50.00000000  []
 1   0.00086068     81.00000000  []
Run Code Online (Sandbox Code Playgroud)

它在第 0 列上排序,我需要将两者合并,如下所示:

              0               1   2
 0   0.00086076    500.00000000  []
 1   0.00086075    819.00000000  []
 2   0.00086072   1162.00000000  []
 3   0.00086071     50.00000000  []
 4   0.00086069  10170.00000000  []
 5   0.00086068     81.00000000  []
 6   0.00086067     18.00000000  []
Run Code Online (Sandbox Code Playgroud)

因此,如果某个值与第 0 列中的一个匹配,则应更新第 1 列,否则应插入新行并再次排序。

是否有有效的方法或预定义函数来执行此操作?

python pandas

7
推荐指数
1
解决办法
5762
查看次数

将ignore pandas dataframe插入mysql

我想将整个pandas数据帧"插入忽略"到mysql中.有没有办法在没有循环行的情况下执行此操作?

在dataframe.to_sql中,我只看到if_exists'append'选项,但是这仍然会在重复的唯一键上继续吗?

python mysql pandas pandas-to-sql

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

创建具有唯一索引的 Pandas Dataframe

我可以创建一个具有唯一索引或列的数据框,类似于在 mysql 中创建唯一键,如果我尝试添加重复索引,它会返回错误吗?

或者是我创建 if 语句并在附加之前检查数据帧中的值的唯一选择?

编辑:

看来我的问题有点不清楚。对于唯一列,我的意思是我们不能在列中具有非唯一值。

df.append(new_row, verify_integrity=True)
Run Code Online (Sandbox Code Playgroud)

我们可以检查所有列,但如何只检查一两列?

python pandas

5
推荐指数
1
解决办法
1万
查看次数

在python中将线程安全写入文件

如何在Python线程安全的情况下将数据写入文件?我想为每个请求安全地将一些变量保存到文件中,每隔一小时我想要进行一些分组并将其写入mysql.

在Java中,我现在将它放在一个缓存的数组中,当数组已满时将其写入文件.

我怎么能用Python做到这一点?有许多并发请求,因此它必须是线程安全的.

编辑:

我们最终使用了正常工作的日志模块.

python

4
推荐指数
2
解决办法
9061
查看次数

在Flask中的WTform中创建动态字段

我想使用WTForms和Jinja2在Flask中创建不同的表单.我调用mysql,它具有字段类型.

所以即表可以是:

 form_id   |  type         |   key    |    options      | default_value
    1      |  TextField    |   title  |                 |      test1
    1      |  SelectField  |   gender |{'male','female'}|      
    2      |  TextAreaField|   text   |                 |   Hello, World!
Run Code Online (Sandbox Code Playgroud)

然后我在form_id上查询.然后我想创建一个带有WTforms的表单,其中包含返回的行的字段.

对于正常形式我做:

class MyForm(Form):

    title = TextField('test1', [validators.Length(min=4, max=25)])
    gender = SelectField('', choices=['male','female'])


def update_form(request):

     form = MyForm(request.form)

     if request.method == 'POST' and form.validate():
          title = form.title.data
          gender = form.gender.data

          #do some updates with data
          return .....
     else:
          return render_template('template.html',form)
          #here should be something like:
          #dict = …
Run Code Online (Sandbox Code Playgroud)

python flask wtforms

4
推荐指数
1
解决办法
4325
查看次数

标签 统计

python ×10

jinja2 ×4

pandas ×4

flask ×2

mysql ×1

pandas-to-sql ×1

python-requests ×1

vpn ×1

wtforms ×1