我用Python3.8在我的电脑上创建了一个网站,我不得不将其移动到一个开发服务器上,该服务器使用Python2.7,我无法对其进行更新,因为我正在学习一门课程。当我开发代码时,我使用了“f”来打印数据,但我不确定如何更改我得到的内容,以便它能在Python2.7上工作。 下面是我需要更改的代码部分
def __repr__(self):
return f"Member('{self.username}', '{self.email}')"
def __repr__(self):
return f"Share('{self.title}', '{self.share_date}')"
这也是我从命令行得到的响应
from flaskproject import db
/home/40317391/submission-project.git-/Blog/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py:834: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "flaskproject/__init__.py", line 19, in <module>
from flaskproject import routes
File "flaskproject/routes.py", line 3, in <module>
from flaskproject.forms import SignUpForm, LoginForm, EditHubForm, ShareForm
File "flaskproject/forms.py", line 5, in <module>
from flaskproject.models import Member
File "flaskproject/models.py", line 20
return f"Member('{self.username}', '{self.email}')"
^
SyntaxError: invalid syntax
请尝试以下代码:
Python 2不支持f字符串,但可以使用简单的格式字符串:
您的主代码是在python3中: 从Python3开始,f字符串是格式化字符串的好方法。因此,您的代码:
f"Member('{self.username}', '{self.email}')"
在您的系统上运行良好
你的服务器是python2
python2中不包括f字符串。因此不能使用字符串格式化程序。 您必须使用旧语法:
"Member('" + self.username + "', '{self.email}')"
顺便说一句,这两种语法将显示相同的结果,只是不同版本的python支持不同的东西
如果我不理解你的答案,请评论或回复,以便我正确理解。谢谢
相关问题 更多 >
编程相关推荐