【问题标题】:Reading a static file读取静态文件
【发布时间】:2014-07-02 14:48:22
【问题描述】:

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

我做错了什么?

【问题讨论】:

标签: django


【解决方案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/"

在您的应用文件夹下创建一个文件夹media

然后将要读取的文件放入该文件夹中。

在你的views.py中试试这个:

from django.conf import settings
with open(settings.MEDIA_ROOT + '\\yourfile.text', 'rb') as f:
  lines = f.readlines()

【讨论】:

  • 使用 os.path.join 而不是 + '\\'。
猜你喜欢
  • 1970-01-01
  • 2014-02-06
  • 2013-10-27
  • 1970-01-01
  • 2017-02-22
  • 2020-01-26
  • 2011-12-13
  • 1970-01-01
  • 2015-11-08
相关资源
最近更新 更多