繁体   English   中英

Django admin ascii 错误

[英]Django admin ascii error

我知道问题是我有一个特殊的字符。 但这是棘手的部分:它已经在 Django db 中,所以当我想在 Admin 中删除它时,我得到了错误页面,所以我无法删除它。

楷模

from __future__ import unicode_literals
from django.db import models
from django.forms import ModelForm
from django.core.exceptions import NON_FIELD_ERRORS
from django.contrib.auth.models import User

class Richtingen(models.Model):
    naam = models.CharField(max_length=100)
    omschrijving = models.TextField(max_length=2000)
    def __str__(self):
        return '%s %s' % (self.naam, self.omschrijving)
class Leraren(models.Model):
    naam = models.CharField(max_length=100)
    voornaam = models.CharField(max_length=100)
    foto = models.ImageField(upload_to = 'leerkrachten', default='leerkrachten/anoniem.png')
    email = models.EmailField()
    def __str__(self):
        return '%s %s %s %s' % (self.naam, self.voornaam, self.foto, self.email)

class Klassen(models.Model):
    naam = models.CharField(max_length=100)
    numeriekeCode = models.CharField(max_length=100)
    richting = models.ForeignKey(Richtingen, on_delete=models.CASCADE)
    leraar = models.ForeignKey(Leraren, on_delete=models.CASCADE)
    def __str__(self):
        return '%s %s %s %s' % (self.naam, self.numeriekeCode, self.richting, self.leraar)
    def __unicode__(self):
        return u'%s %s %s %s' % (self.naam, self.numeriekeCode, self.richting, self.leraar)

class Contact(models.Model):
    email = models.EmailField()
    telefoonNr = models.CharField(max_length=20)
    adres = models.CharField(max_length=255)
    bericht = models.TextField(max_length=2000)
    def __str__(self):
        return '%s %s %s %s' % (self.email, self.telefoonNr, self.adres, self.bericht)

行政

在此处输入图片说明 错误

在此处输入图片说明

(我刚刚注意到你有 from future import unicode_literals: 你拥有的所有文字都是 unicode 并且其中一些前面的u是多余的):

您的__str__方法返回 Unicode 字符串; 但是您使用的是 Python 2,并且该函数应该返回一个字节串。 Django 将尝试使用其返回值并将其解码为 un​​icode 字符串,但如果其中存在非 ASCII 数据,则会失败。 只需调用那些__str__函数__unicode__

只要您只使用 Python 2; 否则,请参阅文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM