【问题标题】:How to access directory file outside django project?如何访问 django 项目外的目录文件?
【发布时间】:2017-01-06 19:04:58
【问题描述】:

我的 Django 项目在 RHEL 7 操作系统上运行。该项目位于路径/root/project 中。项目托管在 httpd 服务器上。现在我正在尝试访问目录之外的文件,例如/root/data/info/test.txt

我应该如何访问 views.py 中的这个路径,以便我可以读取和写入项目目录之外的文件?我尝试在sys.path 中添加路径,但没有成功。文件的读写权限也被赋予。

【问题讨论】:

  • 你试过“../data/info/test.txt”吗?
  • 您是否尝试过使用完整路径?
  • 为什么要在项目目录之外做一些事情?我的意思是选择read/write a file inside the project directory(如果文件不存在则创建文件)和你的git/svn(版本控制系统),ignore the file from getting committed 到项目
  • 是的。我尝试使用完整路径,这给了我们 500 个内部错误。 ......... 我正在尝试做一些自动化,它有一个公共存储库,其他用户可以从中获取数据并运行脚本。我不想在项目中使用这个共享目录

标签: python django apache httpd.conf


【解决方案1】:

将以下行添加到您的settings.py

import os
..
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
FILES_DIR = os.path.abspath(os.path.join(BASE_DIR, '../data/info'))

然后你可以在你的视图中使用

from django.conf import settings
import os
..
file_path = os.path.join(settings.FILES_DIR, 'test.txt')

【讨论】:

    猜你喜欢
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    相关资源
    最近更新 更多