运行python manage.py migration的语法无效

时间:2019-01-19 15:21:46

标签: python django

输入后:

python manage.py migrate

我在此行出现错误:

archive_files = s3.list_objects_v2(Bucket=settings.ARCHIVE_BUCKET, Prefix=f"{org.id}/")["Contents"]
                                                                                     ^

trace

我不明白django 2.0.3为何会抱怨。

2 个答案:

答案 0 :(得分:1)

您似乎在python 3.5中使用格式字符串,但是直到python 3.6才添加了对格式化字符串文字的支持。可以在python documentation中找到更多信息。您将需要更新python版本或以其他方式设置字符串格式。例如"{}/".format(org.id)

答案 1 :(得分:0)

在回溯中,我们看到插入符号指向string interpolation [PEP-0498]。从开始支持此功能,但是您可以使用以下代码运行代码:

python3.5 manage.py runserver

因此解释器无法理解此字符串插值。

您基本上有两个选择:

  1. 尝试使用(或更高版本)运行此程序,尽管当然总有可能损坏某些东西,然后:

    python3.6 manage.py runserver
  2. 执行正确的格式设置,替换:

    prefix=f"{org.id}/"

    具有:

    prefix="{}/".format(org.id)

或其他格式化方式。