我从djangook学习Django,在第6章中,安装了管理应用程序,syncdb
命令在models.py
(return u'%s %s' % (self.first_name, self.last_name)
)中返回一个语法错误
我用的是python3。在
为什么会这样?如何修复?在
模型.py:
from django.db import models
class Publisher (models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website=models.URLField()
def __unicode__(self):
return self.name
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
def __unicode__(self):
return self.title
错误:
^{pr2}$
在python3中使用的是python2语法。尽管python3.3及更高版本支持对unicode字符串值使用
u
前缀(以支持跨版本代码),但python3.2及之前的版本不支持;删除u
前缀以使其正常工作:但是,您还需要参考DjangoPorting to Python 3文档,并在此处使用}:
^{pr2}$__str__
,而不是{如果您正在阅读一本特定的书,那么您可能希望安装python2。在
相关问题 更多 >
编程相关推荐