Django 读取静态文件
我有一个Django项目,名为Django 读取静态文件,django,Django,我有一个Django项目,名为myproject,其中有一个应用程序名为myapp。我想读取一个文本文件并将其内容加载到列表中。我对Django中的静态文件和相对目录有点困惑,而我最初的尝试是无效的。到目前为止,我有以下代码 在/myproject/settings.py中: STATIC_URL = '/static/' with open('myapp/myfile.txt') as f: lines = f.readlines() 在/myapp/static/myapp中,有
myproject
,其中有一个应用程序名为myapp
。我想读取一个文本文件并将其内容加载到列表中。我对Django中的静态文件和相对目录有点困惑,而我最初的尝试是无效的。到目前为止,我有以下代码
在/myproject/settings.py
中:
STATIC_URL = '/static/'
with open('myapp/myfile.txt') as f:
lines = f.readlines()
在/myapp/static/myapp
中,有一个名为myfile.txt
的文件
在/myapp/views.py
中:
STATIC_URL = '/static/'
with open('myapp/myfile.txt') as f:
lines = f.readlines()
运行服务器时,我得到错误:没有这样的文件或目录:“myapp/myfile.txt”
我做错了什么?在您的设置中:
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/"
在你的应用文件夹下创建一个文件夹media
然后将要读取的文件放在该文件夹中
然后在your views.py中尝试以下操作:
from django.conf import settings
with open(settings.MEDIA_ROOT + '\\yourfile.text', 'rb') as f:
lines = f.readlines()
您是否尝试了
myapp/static/myapp/myfile.txt
而不是myapp/myfile.txt
?请使用os.path.join而不是+'\\'。