Здравствуйте.
У меня есть строка string1 = '{title} added. Which add more?'
Она храниться в БД.
Как сделать переменную string1 F строкой, чтобы переменная title заработала?
Я пробовал так
string1 = '{title} added. Which add more?'
title = 'blabla'
print(f'{string1}')
Но так не работает. title отображается не переменной, а текстом.
Надо обычную строку переделать в F строку в переменной.
Очень интересно. Почему надо быть аккуратным и валидировать по каким критериям?
У меня сейчас не сработало. Но походу в этом направлении надо двигаться.
Вот ошибка
line 298, in makef
return eval(f'f"{nonf}"')
File "<string>", line 1, in <module>
NameError: name 'title' is not defined
Но надо быть очень аккуратным и валидировать всё что приходит из БД
Наоборот же! Валидировать надо все, что приходит от пользователя и идет в БД - SQL инъекции. например, никто не отменял. А все что приходит из базы должно быть безопасным по определению.
>>> title = "asd"
>>> string1 = f'{title} added. Which add more?'
>>> print(string1)
asd added. Which add more?
И это работает. Можно и без format.
Только если в string1 данные вводит пользователь, может быть проблема, он может ввести не предназначенные, т.е. скрытые переменные, например, key, token, password, что-нибудь такое. Так что здесь аккуратней.