エラー
django-nested-inlineパッケージを使用しようとしています。すべてが機能しているように見えますが、管理 Web サイトで新しい Web サイトを作成しようとすると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は 2 日前に 0.3.3 から 0.3.4 に更新されました。更新版は「ライセンスを追加し、python 3 用に更新」したものです。私は 0.3.4 を使用していますが、Python 3 ではなく Python 2.7 も使用しています。ただし、0.3.4 をアンインストールし、0.3.3 をインストールして、もう一度試しました。これは機能せず、同じエラーが発生しました。それ以来、0.3.3 をアンインストールし、0.3.4 を再インストールしました。
- 管理サイトから新しいサイトを追加しようとしても、管理サイトとサイト自体はクラッシュしません
Course
。