我把我的django项目放在网站alwaysdata.com上,在HTML网站上一切看起来都不错,但是当我进入ADMIN面板并尝试打开其中一个结构时我得到了
`'ascii' codec can't decode byte 0xc5 in position 38: ordinal not in range(128)`
在我的项目中,我有来自波兰语字母的字母,如'ł',' - '等。我想出可能我必须将编码从默认的ascii更改为utf-8。我将其更改为modles.py
,如:
# -*- coding: utf-8 -*-
和admin.py
以同样的方式开始文件。
我仍然有同样的错误。所以有我的问题,我应该在哪里改变它以及如何改变它?也许......其他原因导致问题?也许有其他解决方案?感谢。
答案 0 :(得分:0)
models.py
class Mecz(models.Model):
kolejka = models.IntegerField('Kolejka')
data = models.DateField()
miejsce = models.TextField(max_length=100)
gospodarz = models.ForeignKey(Zespol,related_name="as_host")
gosc = models.ForeignKey(Zespol,related_name="as_guest")
bramki_gospodarz = models.IntegerField('Bramki Gospodarzy')
bramki_gosc = models.IntegerField('Bramki Gosci',)
description = models.TextField('Uwagi')
def save(self, *args, **kw):
miejsce = miejsce.encode('utf-8')
super(Mecz, self).save(*args, **kw)
我猜您是从管理员而不是自己保存数据,因此您可以在保存之前覆盖保存模型方法以执行任何操作。
这里是文档https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods
我不确定这是不是你的问题,但我无法在评论中解释
希望帮助