读取静态文件

时间:2014-07-02 14:48:23

标签: django

我有一个名为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'

我做错了什么?

1 个答案:

答案 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()