【问题标题】:How to random a file from a dir within static dir?如何从静态目录中的目录随机文件?
【发布时间】:2013-09-05 08:43:40
【问题描述】:

我有这样的结构。

~/app/static/ tree -L 2
.
├── css
│   ├── jquery-ui-1.10.3.custom
│   └── styles.css
├── img
│   └── funny
├── js
│   ├── jquery-ui-1.10.3
│   └── jquery-ui-1.10.3.zip
├── privacy-policy.html
└── tou.html

我想向用户展示一个来自 img/funny 的随机文件。 我该怎么做?

我可以在模板中放一个 js 的 css 文件,比如:

  <script src="{% static "js/jquery-ui-1.10.3/jquery-1.9.1.js" %}"></script>

但我不知道如何从静态目录的子目录中随机选择一个文件?

【问题讨论】:

    标签: django file random static


    【解决方案1】:
    import random, glob
    path = random.choice(glob.glob('~/app/static/img/funny/*.*'))
    

    现在在路径变量中,您将获得来自 img/funny

    的随机文件的路径

    如果您希望路径相对于 ~/app/static/

    ,您可能需要执行以下操作
    path = path.replace("~/app/static/","")
    

    然后您可以在模板中使用它,例如:

    <img src="{{ path }}"/>
    

    【讨论】:

    • 将项目转移到生产环境怎么样?然后呢?
    • 你能解释一下将代码移到生产环境中的问题吗?
    • 我担心很多硬编码的路径,但我可以在 settings.py 中创建变量,所以接受了 :)
    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 2021-02-27
    • 1970-01-01
    • 2016-03-02
    • 2010-09-29
    • 2012-06-30
    • 2015-02-05
    相关资源
    最近更新 更多