gpt4 book ai didi

python - Django 嵌套内联 TemplateDoesNotExist

转载 作者:行者123 更新时间:2023-11-28 16:34:14 26 4
gpt4 key购买 nike

错误

我正在尝试使用 django-nested-inline包裹。似乎一切正常,但是当我尝试使用管理网站创建新的 Course 时,出现以下错误:

TemplateDoesNotExist at /admin/courses/course/5/

admin/edit_inline/stacked-nested.html

当然,admin/edit_inline/stacked-nested.html 只是不存在,因为在模板渲染期间发生错误:

Error during template rendering

In template C:\...\django\contrib\admin\templates\admin\change_form.html, error at line 62

admin/edit_inline/stacked-nested.html

60 {% block inline_field_sets %}
61 {% for inline_admin_formset in inline_admin_formsets %}
62 {% include inline_admin_formset.opts.template %}
63 {% endfor %}
64 {% endblock %}

如您所见,当 Django 尝试渲染时出现了一些问题

{% include inline_admin_formset.opts.template %}

我的代码

这是我的 admin.py,但我认为它与上述错误没有任何关系:

from django.contrib import admin
from nested_inline.admin import NestedStackedInline, NestedModelAdmin
from courses.models import Course, Skill, Note

class NoteInline(NestedStackedInline):
model = Note
extra = 0

class SkillInline(NestedStackedInline):
model = Skill
extra = 0
inlines = [NoteInline]

class CourseAdmin(NestedModelAdmin):
inlines = [SkillInline]

admin.site.register(Course, CourseAdmin)

这是我的 models.py:

from django.db import models

class Course(models.Model):
course_name = models.CharField(max_length=200)
course_description = models.CharField(max_length=1000, default='Course Description')
course_subject = models.CharField(max_length=200, default='No Subject')

def num_skills(self):
return len(self.skill_set.all())

def __unicode__(self):
return self.course_name

def __str__(self):
return unicode(self).encode('utf-8')

class Skill(models.Model):
course = models.ForeignKey(Course)
skill_name = models.CharField(max_length=200)
skill_description = models.CharField(max_length=1000, default='Skill Description')

def __unicode__(self):
return self.skill_name

def __str__(self):
return unicode(self).encode('utf-8')

class Note(models.Model):
skill = models.ForeignKey(Skill)
note_text = models.CharField(max_length=1000, default='...note text...')

def __unicode__(self):
return self.note_text

def __str__(self):
return unicode(self).encode('utf-8')

我注意到的事情

  • django-nested-inline两天前从0.3.3更新到0.3.4。更新版本“为 python 3 添加了许可证并进行了更新”。我使用的是 0.3.4,还有 Python 2.7,而不是 Python 3。但是,我卸载了 0.3.4,安装了 0.3.3,然后重试。这不起作用并产生了相同的错误。我已经卸载 0.3.3 并重新安装 0.3.4。
  • 管理站点和站点本身不会崩溃,只是当我尝试通过管理站点添加新的类(class)时。

最佳答案

看起来您的 nested_inline 应用程序未安装,否则 django 将能够找到模板。或者将模板添加到您的 TEMPLATE_DIRS 设置引用的目录或更改内联的模板名称。

根据您提供的链接中的用法:将 nested_inline 添加到 INSTALLED_APPS

关于python - Django 嵌套内联 TemplateDoesNotExist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28730591/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com