【发布时间】:2017-08-09 03:55:25
【问题描述】:
我的问题很简单:如何从 Django 项目中的 views.py 中读取任何 .txt 或 .ini 文件?
我需要从设置中获取一个简单的参数(例如 4)。我将setting.ini 与views.py(在应用程序文件夹中)放在一个目录中。以前的答案似乎没有任何效果:
在views.py中:
filename = os.path.join(os.path.dirname(__file__), 'setting.ini')
返回 FileNotFoundError,指出正确的位置,但无法读取:
[Errno 2] 没有这样的文件或目录:'C:\\Users\\user\\Desktop\\XXXX\\XX \\XXXX\\XXXX\\setting.ini'
在settings.py 中设置 PROJECT_ROOT 也无济于事。当我将setting.ini 与settings.py 放在一个文件夹中并尝试
import os
from django.conf.settings import PROJECT_ROOT
file_ = open(os.path.join(PROJECT_ROOT, 'filename'))
FileNotFoundError 也是如此。
当前应用文件夹内容:migrations/static/templates/__init__admin.pymodels.pysetting.ini tests.pyviews.py
【问题讨论】:
-
您的设置文件与views.py 位于同一目录中,那么您为什么要使用path.join。只需使用文件名打开文件就可以了'
-
我使用:
with open('setting.ini', 'r') as f:仍然是 FileNotFoundError。即使 setting.ini 和 views.py 在同一个文件夹中 -
尝试构建访问文件的绝对路径并检查您构建的路径是否正确。
-
即使显示错误,路径也绝对正确:没有这样的文件或目录
-
yourapp/setting.ini或.setting.ini怎么样,有用吗?
标签: django python-3.x django-views