我有一个名为myproject
的Django项目,它有一个名为myapp
的应用程序。我想读取一个文本文件并将其内容加载到列表中。我对Django中的静态文件和相关目录有点困惑,我的初步尝试无法正常工作。到目前为止,我有以下代码......
在/myproject/settings.py
:
STATIC_URL = '/static/'
在/myapp/static/myapp
中,有一个名为myfile.txt
的文件。
在/myapp/views.py
:
with open('myapp/myfile.txt') as f:
lines = f.readlines()
运行服务器时,出现错误:No such file or directory: 'myapp/myfile.txt'
我做错了什么?
答案 0 :(得分:1)
在您的设置中:
import os
gettext = lambda s: s
PROJECT_PATH = os.path.normpath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..'))
MEDIA_ROOT = os.path.join(PROJECT_PATH, "media")
MEDIA_URL = "/media/"
在app文件夹下创建一个文件夹media
。
然后将要读取的文件放在该文件夹中。
并在views.py中尝试此操作:
from django.conf import settings
with open(settings.MEDIA_ROOT + '\\yourfile.text', 'rb') as f:
lines = f.readlines()