Django-tables2跨应用跳转遇TemplateDoesNotExist错误求助
问题原因及解决方案
问题根源
Django的DetailView默认遵循模板查找规则:<app_label>/<model_name>_detail.html。你的Probe模型在all应用中定义,且Meta类指定了app_label = 'all',所以overview.views.ProbeDetailView会默认去all应用的模板目录下查找all/probe_detail.html,但实际模板文件存放在overview应用的overview/probe_detail.html路径下,导致模板找不到。
解决方法
直接在overview/views.py的ProbeDetailView中显式指定模板路径,覆盖默认的查找规则:
class ProbeDetailView(DetailView): model = Probe template_name = "overview/probe_detail.html"
这样Django就会直接去overview应用的模板目录下寻找指定的模板文件,解决找不到模板的问题。
内容的提问来源于stack exchange,提问作者Natalie
相关产品推荐
相关产品推荐

