Django项目AllEncountersListView未使用指定模板文件问题排查
问题根因
你的template_name配置缺少模板所在的子目录路径。
从你给出的项目文件树可以看到,encounters_list_all.html存放在encounters应用下的templates/encounters/子目录中,Django查找应用模板时需要携带该层级路径,你只写文件名会导致Django无法匹配到目标模板,最终触发通用视图的默认模板规则,加载了符合<app名>/<模型名>_list.html规则的encounter_list.html。
修复方案
修改views.py中AllEncountersListView的template_name属性,补全路径即可:
class AllEncountersListView(generic.ListView): model = Encounter paginate_by = 20 # 修正为完整的模板相对路径 template_name = 'encounters/encounters_list_all.html' def get_queryset(self): print('in allEncounterListView') # 用于验证视图被成功调用 return Encounter.objects.filter(user=self.request.user).order_by('-encounter_date')
内容的提问来源于stack exchange,提问作者CharleyM
相关产品推荐
相关产品推荐

