我的项目目录如下所示。  settings_value.py有一个模板标签,名为“settings_value”。在我的 settings.py 中,我将 'itslogical.templatetags' 添加到INSTALLED_APPS. 我尝试在 中使用它logicalhp/home.html,但它说标签不存在。我正在使用此答案中的代码(我将名称从“value_from_settings”更改为“settings_value”)。
.
├── internetparse
│   └── ...
├── itslogical
│   ├── settings.py
│   ├── templates
│   │   └── itslogical
│   │       └── base.html
│   └─── templatetags
│       ├── __init__.py
│       └── settings_value.py
├── logicalhp
│   ├── templates
│   │   └── logicalhp
│   │       └── home.html
│   └── views.py
└── manage.py
需要帮助请叫我。我在这里想念什么?
编辑:添加代码和更新错误。这是基于@Dan 的回答。
500 ERROR:
'settings_value' is not a valid tag library: Template library settings_value not found
Template library settings_value not found, tried django.templatetags.settings_value ...
#!/usr/bin/env python
from django import template
from django.conf import settings
# Include settings from here in templates
register = template.Library()
# settings value
@register.tag
def settings_value(parser, token):
    try:
        # split_contents() knows not to split quoted strings.
        tag_name, var = token.split_contents()
    except ValueError:
        raise template.TemplateSyntaxError, "%r tag requires a single argument" % token.contents.split()[0]
    return ValueFromSettings(var)
class ValueFromSettings(template.Node):
    def __init__(self, var):
        self.arg = template.Variable(var)
    def render(self, context):
        return settings.__getattr__(str(self.arg))