0

django のモデル フォームで utf-8 文字を使用すると問題が発生します。私はモデルにこのコードを持っています:

class Student (models.Model):
    imie = models.CharField(verbose_name=u'Imię', max_length=40)
    nazwisko = models.CharField(max_length=40)

(...)

def __unicode__(self):
    return u'%s %s'(self.imie, self.nazwisko)

これをエディターで保存して runserver コマンドを実行しようとすると、サーバーは Validating models... メッセージを送信し、エラーなしでハングし、ページを更新できず、サーバーを起動できません。verbose_name='Imie' に通常の (非ユニコード) を挿入すると、すべてうまくいきます。私は何が欠けていますか?

4

2 に答える 2

1

ファイルの先頭に次のように記述して、ファイルのエンコーディングを UTF-8 に設定します。

# coding=utf8

次に、文字列の前に小文字の u を追加します。

verbose_name=u'Imię'

PEP 263の Python でのエンコーディングに関する詳細情報。

于 2012-12-25T00:16:16.807 に答える
0

を使用するのを忘れましたunicode

    imie = models.CharField(verbose_name=u'Imię', max_length=40)
于 2012-12-25T00:05:25.753 に答える