Heroku迁移原因:(staticfiles.E001)STATICFILES_DIRS设置不是元组或列表

时间:2019-01-29 18:51:09

标签: python django heroku

我正在尝试将数据库从计算机迁移到Heroku,以在线运行我的应用程序。

使用:

heroku run python manage.py migrate

返回:

?: (staticfiles.E001) The STATICFILES_DIRS setting is not a tuple or list.
    HINT: Perhaps you forgot a trailing comma? 

我在settings.py中的“ #static资产配置”如下:

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

基于搜索,我试图将其变成带方括号的列表,在第二个)之后添加逗号,并进行了一些其他尝试。

这是我根据同一指南(Python崩溃课程)创建的第二个应用程序。本书中的应用正在运行。我为自己创建的一种作为其他练习的程序就是遇到此问题的程序,但是上面显示的编码在两者之间是相同的。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

Heroku使用django_heroku软件包来处理您的静态文件。将其安装在需求文件中,然后将导入django_heroku添加到settings.py文件的顶部,并将django_heroku.settings(locals())添加到末尾。

要回答您的问题,如果必须手动执行此操作,则可以尝试将STATICFILES_DIRS更改为列表而不是元组,并确保该目录位于您要分配的BASE_DIR中。

您可能还需要添加STATIC_URL ='/ static /'。该文件应位于与manage.py文件相同的级别。