【发布时间】:2020-04-01 07:39:34
【问题描述】:
我只是在学习 Django 和 Python,并且想确保我以正确的 DRY 方式做事,而且我确信有一种更简单的方法可以做到这一点......
现在,我有以下 base_template_tags.py 作为它自己的应用程序(添加到 settings.py 并加载到 HTML 模板 {% load ... %} 上,这使我可以通过 {% cd_year %} 和/或以 HTML 标记的形式访问年份电子邮件地址为{ cd_email }。它可以工作......但它是一个黑客。
有没有更好的办法?
from datetime import datetime
from django import template
register = template.Library()
@register.simple_tag
def current_time(format_string):
return datetime.datetime.now().strftime(format_string)
@register.simple_tag
def cd_year():
return datetime.now().year
@register.simple_tag
def cd_email():
return 'pp@pp.com'
【问题讨论】:
-
now呢? -
哦,对不起......我应该澄清一下......我有一堆我想在应用程序中访问的常量......不仅仅是这个日期。
-
这个问题的正确答案是context processors,而不是模板标签。