Python Django模板未检测到模型的实例
我在models.py中添加了一个语言模型:Python Django模板未检测到模型的实例,python,django,Python,Django,我在models.py中添加了一个语言模型: class Languages(models.Model): language = models.CharField(max_length=20,blank=False) level = models.CharField(max_length=30,blank=False) ordering = models.IntegerField(default=1) class Meta: order = ['o
class Languages(models.Model):
language = models.CharField(max_length=20,blank=False)
level = models.CharField(max_length=30,blank=False)
ordering = models.IntegerField(default=1)
class Meta:
order = ['order','id']
def __unicode__(self):
return ''.join([self.language, '-', self.level])
叫
python3 manage.py makemigrations && python3 manage.py migrate
并创建了几个实例:
python3 manage.py shell
In [1]: from resume.models import Languages
In [2]: Languages.objects.all()
Out[2]: <QuerySet [<Languages: Languages object (5)>, <Languages: Languages object (6)>]>
In [3]: Languages.objects.get(id=5).__dict__
Out[3]:
{'_state': <django.db.models.base.ModelState at 0x7f0f21bb7668>,
'id': 5,
'language': 'English',
'level': 'professional',
'ordering': 1}
如何解决这个问题 您需要将
语言
添加到视图中的模板上下文中。大概是这样的:
context = {'languages': Languages.objects.all()}
return render(request, 'index.html', context)
你能展示你的观点吗?哦,不,这就是问题所在。这很容易,但是。。我忘了在那里渲染新模型。请写一个简短的回答,我会接受的
python3 manage.py showmigrations | grep -i langua
[X] 0016_remove_language_personalinfo
[X] 0018_delete_language
[X] 0019_languages
context = {'languages': Languages.objects.all()}
return render(request, 'index.html', context)