我正在尝试将数据库从计算机迁移到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崩溃课程)创建的第二个应用程序。本书中的应用正在运行。我为自己创建的一种作为其他练习的程序就是遇到此问题的程序,但是上面显示的编码在两者之间是相同的。
我该如何解决?
答案 0 :(得分:0)
Heroku使用django_heroku软件包来处理您的静态文件。将其安装在需求文件中,然后将导入django_heroku添加到settings.py文件的顶部,并将django_heroku.settings(locals())添加到末尾。
要回答您的问题,如果必须手动执行此操作,则可以尝试将STATICFILES_DIRS更改为列表而不是元组,并确保该目录位于您要分配的BASE_DIR中。
您可能还需要添加STATIC_URL ='/ static /'。该文件应位于与manage.py文件相同的级别。