データベースに2つのモデルと2つの値を作成しました。キリル文字の最初の文字とラテン文字の第2文字。Django 1.9.2でのコーディングエラー
from __future__ import unicode_literals
from django.db import models
class Lecturer(models.Model):
fname = models.CharField('First name', max_length=200)
mname = models.CharField('Middle name',max_length=200)
lname = models.CharField('Last name', max_length=200)
pub_date = models.DateTimeField('Date published')
def __str__(self):
return "{} {} {}" .format(self.fname, self.mname, self.lname)
しかし、私はリンクをクリックし、キリル文字値を編集しようとすると、私はエラーを取得します。
UnicodeEncodeError at /admin/lecturers/lecturer/2/change/
'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
Request Method: GET
Request URL: http://localhost:8000/admin/lecturers/lecturer/2/change/
Django Version: 1.9.2
Exception Type: UnicodeEncodeError
Exception Value:
'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
Exception Location: /usr/local/lib/python2.7/dist-packages/django/utils/encoding.py in force_text, line 80
Python Executable: /usr/bin/python
Python Version: 2.7.6
Python Path:
['/home/vald/project',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-i386-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
Server time: Tue, 2 Feb 2016 20:30:07 +0200
Python3.xまたは2.7を使用していますか? 3.xの場合は、どのようにあなたのdevサーバを実行するのですか?python manage.py runserver? – Yaaaaaaaaaaay
私はPython 2.7を使用しています。 –
次に、__str__を__unicode__に置き換えてください。それはうまくいくはずです。 – Yaaaaaaaaaaay