我使用的是Python 3.6.4。 当我尝试使用以下代码在DetailView中打印上下文时:
class FormularDetailView(DetailView):
model = form
template_name = "detail.html"
def get_context_data(self,**kwargs):
print (self.kwargs)
context = super().get_context_data(**kwargs)
context['formulare'] = form.objects.all()
print (context)
return context
我收到此错误:
打印文件“C:\ Victor \ Django_CNC \ src \ formular \ views.py”,第44行,in get_context_data print(context)文件“C:\ Victor \ Django_CNC \ venv \ lib \ site-packages \ django \ db \ models \ base.py”, 第513行, repr 返回'<%s:%s>' %(self。类。名称,self)TypeError: str 返回非字符串(类型datetime.date)[02 / Feb / 2018 09:45:46]“GET / 1 / HTTP / 1.1”500 84731
kwargs:
print (self.kwargs)
{'pk': 1}
我错过了什么?
稍后编辑: 正如丹尼尔罗斯曼指出的那样,问题出现在models.py中。这是我的models.py:
class form(models.Model):
data_centralizarii = models.DateField()
nr_uaturi_cad_fin = models.SmallIntegerField()
def __str__(self):
return self.data_centralizarii
返回str(self.data_centralizarii)解决了我的问题。