【发布时间】:2015-04-28 03:07:02
【问题描述】:
错误
我正在尝试使用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。
- 当我尝试通过管理站点添加新的
Course时,管理站点和站点本身不会崩溃。
【问题讨论】:
标签: python django nested render inlines