在Flask

时间:2017-10-05 20:43:54

标签: python flask

我的Flask应用程序在用户注册并支付费用后提供高分辨率图像。图像存储在/static/img/wall/目录中,并命名为wall_001.jpgwall_002.jpg,依此类推。我现在需要坚持这个命名方案。这些数字基本上充当了ID,我在整个应用程序中使用它们。

付款后显示图片时,我使用图片<img src="/static/img/wall/wall_001.jpg" alt="Wallpaper">的直接路径。

如果有人愿意,他们可以轻松地将该链接粘贴到新标签页中并访问wall_002.jpg, wall_003.jpg,依此类推。

有没有办法可以重命名图片的路径,或者在付款后提供图片时随机化文件名?

我使用Flask-Resize / Flask-Images作为处理此问题的方法,因为它们创建了一个新文件并存储在缓存文件夹中。但是我having problems将这些扩展投入生产。

修改:这不是一个重复的问题。这是一个不同的场景。我的问题不仅涉及登录,还涉及付款。因此,需要随机化/重命名/屏蔽原始网址。

1 个答案:

答案 0 :(得分:0)

创建文件的硬os.link()或软os.symlink()链接,然后将该名称显示给客户。可以使用python random()

随机生成名称
    import random
    import string

    def randomword(length):
      return ''.join(random.choice(string.lowercase) for i in range(length))

代码ref,stackoverflow上的用户“sth”