Функция exec() в python не выполняется в django

Надеюсь, у вас все хорошо. Я хочу использовать функцию exec() в django для выполнения моих строк, выбранных из базы данных. Код, который я написал, работает только в python script, но не работает в Django views. Ниже приведен мой код в скрипте python, который я запускаю в блокноте.

ticker = 'AAPL'
title = 'f"hey {ticker} is a really doing good."'
exec('title = ' + title)
print(title)

Но тот же код в Django views не выполняется. Ниже приведен код в файле views.py.

ticker = 'AAPL'
title = queryset.title #The title here is The {ticker} is not doing good.
exec('title = ' + title)

Он не дает ответа на запись, просто возвращает первый заголовок, как показано ниже.

У {ticker} не все в порядке. Это тело {тикера}.

Если у кого-то есть решение, пожалуйста, помогите мне разобраться в этом.

Используйте str.format(…) [Python-doc] для форматирования строк:

ticker = 'AAPL'
title = queryset.title.format(ticker=ticker)

до не используйте exec или eval: это может привести к нежелательным побочным эффектам и поэтому небезопасно.

Я нашел ответ. Если вы хотите выполнить одну переменную, то используйте верхний код, который выглядит так:

ticker = 'AAPL'
title = queryset.title.format(ticker=ticker)

Если вы хотите выполнить целый словарь с большим количеством значений. Тогда ** является хорошим вариантом. Например

dictionary = {'ticker': 'Example', 'website': 'example.com'}
queryset.title.format(**dictionary)
Вернуться на верх