小编sim*_*cci的帖子

Flask - 获取上传文件的名称减去文件扩展名

我有一个表单,可以在多个字段中上传多个文件

例如:我有一个名为 PR1 的字段,另一个 Pr2 和 PR3,在每个这个字段中,我可以上传(或不上传)多个文件,上传端工作正常:

files = request.files
for prodotti in files:
        print(prodotti)
        for f in request.files.getlist(prodotti):
            if prodotti == 'file_ordine':
                os.makedirs(os.path.join(app.instance_path, 'file_ordini'), exist_ok=True)
                f.save(os.path.join(app.instance_path, 'file_ordini', secure_filename(f.filename)))
                print(f)
Run Code Online (Sandbox Code Playgroud)

所以使用这种方法,结果例如是:

Pr1
<FileStorage: 'FAIL #2.mp3' ('audio/mp3')>
Run Code Online (Sandbox Code Playgroud)

在这一点上,我想用+ 文件扩展名的名称更新我的数据库file中行中的字段,pr1file怎样才能得到文件的名称?

python werkzeug flask python-3.x

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

如何重命名文件夹中的图像

我有35个文件夹,每个文件夹包含50个图像,每个图像都有不同的名称,如copy(3), rename, youanem,等等.我想将所有文件夹中的所有图像重命名为序列号,即文件夹0包含50个图像,它应该为它们提供0-49之类的数字,并为其余文件夹及其图像提供相同的数字.文件夹名称为0-9,然后是AZ.

这可以为它编程,或者我必须手动完成

这是我最初的尝试,我没有完全尝试:

from os import rename, listdir

folder = "D://images//"
fnames = listdir('.')

for fname in fnames:
    if fname.startswith(folder):
        rename(fname, fname.replace(name, '', 1))
Run Code Online (Sandbox Code Playgroud)

我不知道如何命名

谢谢

python python-2.7

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

BeautifulSoup 插入 HTML 数据属性

我试图在我的汤中插入一个新的 HTML 标签,但不知道如何继续。问题是我希望标签具有“data-toggle”属性,但 BeautifulSoup 似乎无法处理这个问题。

\n\n
In [79]: tag = soup.new_tag("li")\n\nIn [80]: tag\nOut[80]: <li></li>\n\nIn [81]: tag2 = soup.new_tag("a")\n\nIn [82]: tag.append(tag2)\n\nIn [83]: tag\nOut[83]: <li><a></a></li>\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n
In [89]: tag = soup.new_tag("li")\n\nIn [90]: tag2 = soup.new_tag("a",href="#")\n\nIn [91]: tag2 = soup.new_tag("a",data-toggle="pill")\n  File "<ipython-input-91-554760df4122>", line 1\n    tag2 = soup.new_tag("a",data-toggle="pill")\n                           ^\nSyntaxError: keyword can\'t be an expression\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

我用谷歌搜索了这个错误,最终找到了一个 bs4 文档页面(https://www.crummy.com/software/BeautifulSoup/bs4/doc/),其中指出“某些属性,例如 HTML 5 中的 data-* 属性,具有不能用作关键字参数名称的名称\xe2\x80\x99”,建议使用 attrs={"data-foo": "value"}。关键是它确实可以与某些方法一起使用(例如:find_all),但不能与 new_tag() 一起使用。

\n\n
In [97]: tag2 = soup.new_tag("a",attrs={"data-toggle":"pill"}) \nIn [98]: tag2\nOut[98]: <a attrs="{\'data-toggle\': \'pill\'}"></a>\n
Run Code Online (Sandbox Code Playgroud)\n\n …

python beautifulsoup

3
推荐指数
1
解决办法
1222
查看次数

Jinja - 为每个扩展模板使用不同的 css

我遇到了 Flask-Appbuilder,因为它可以解决我的问题。我试图为每个模板加载不同的 css,其中只有骨架保持不变。

我找到了这个解决方案https://flask-appbuilder.readthedocs.io/en/latest/templates.html

然而它不起作用。无论如何不适合我。我用过pip3 install flask-appbuilder,一切都很顺利。我在 templates 目录中创建了 appbuilder 目录。然后我用了:

{% extends 'appbuilder/base.html' %}

{% block head_css %}
    {{ super() }}
    <link rel="stylesheet" href="url_for('static',filename='css/your_css_file.css')}}">
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

可能是什么原因造成的?就好像block head_css完全被忽略了。仅加载基本的 bootstrap css。

jinja2 flask

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