【问题标题】:check if turbogears public file exists检查turbogears公共文件是否存在
【发布时间】:2012-08-11 23:50:54
【问题描述】:

我是 turbogears 的新手,我正在使用 public/media/ballots 下的多个目录创建一个应用程序。我需要看看一个目录是否存在。

path = "public/media/ballots/" + x['directoryName']
#return path
if os.path.exists(path):
                listing = os.listdir(path)
                i=0
                for infile in listing:
                   #find path for ballot1, ballot2, etc from files in directory
                   i +=1
                   Ballot = "Ballot" +str(i) 
                   x['Ballot']= infile
                return x
else:
    return "false"

我尝试了多种定义路径的方法:“/media/ballots/”、“./media/ballots/”、“media/ballots”。但是 os.path.exists(path) 总是返回 false。我不确定 TG 是如何访问公共文件的。

【问题讨论】:

    标签: path turbogears


    【解决方案1】:

    tg.config['paths']['static_files'] 将为您提供公共目录的绝对路径。然后,您可以使用 os.path.join 将其链接到您的文件相对于公共文件的路径。

    【讨论】:

    • 这是问题的准确答案。不要相信相对路径。
    【解决方案2】:

    我必须设置 path="projectname/public/media/ballots/"

    【讨论】:

    • 实际上这不起作用,因为它取决于从项目目录本身内部运行项目。这在部署时通常不是真的。
    猜你喜欢
    • 1970-01-01
    • 2014-03-13
    • 2022-11-04
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多