У меня есть приложение Django, который выглядит примерно так:Джанго: предотвратить шаблон с использованием метода модели
class Server(models.Model):
hostname = models.CharField(max_length=100)
# this field stores encrypted credentials
admin_credentials = models.TextField()
def get_admin_credentials(self):
return decrypt(self.admin_credentials)
Поскольку язык шаблонов Django позволяет шаблоны для вызова методов (которые не требуют аргументов) их контекста переменные, кажется, слишком легко для шаблона просачиваться эти учетные данные только тем, что содержит следующий код:
{{ server.get_admin_credentials }}
Как я могу предотвратить шаблоны из непосредственно с помощью метода get_admin_credentials()
?
Awesome, спасибо за ссылку! 'do_not_call_in_templates' был добавлен в Django 1.4, и я все еще придерживался 1.3, но похоже, что установка' alters_data' в True выполняет ту же цель. –