已经有一段时间了,我似乎无法弄清楚我在做什么错。
我有这样的看法
def format_guide_datasheet(request):
return render(request, 'input/format_guide_datasheet.html', {'readers': settings.INSTALLED_DATASHEET_READERS})
settings.INSTALLED_DATASHEET_READERS
是一组类:
from input.readers import ExcelReader
INSTALLED_DATASHEET_READERS = [ExcelReader]
ExcelReader
班级:
class ExcelReader(Reader):
@staticmethod
def name():
return 'Excel'
问题是,我似乎无法在模板中调用这些类的任何属性。例如,在input/format_guide_datasheet.html
:
{{ readers }}
正确输出
[<class 'input.readers.ExcelReader'>]
然而
{% for reader in readers %}
<li>
{{ reader }}
{{ reader.name }}
</li>
{% endfor %}
只是输出li
标签...
我已经尝试过使用基本属性,类方法和静态方法,但是似乎没有任何效果。
有人知道出了什么问题吗?
谢谢!
我发现了问题,谢谢大家的帮助!
问题在于,当调用django模板中的类变量时,django似乎会自动实例化它(就像在模板中调用函数时一样)。在初始化函数input.readers.ExcelReader
instanting这个类的一个对象时,然而,就需要1的说法,这意味着Django模板得到一个错误。
解决的办法是使该参数成为可选参数。现在一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句