Python ImportError:没有名为localflavor.br.br_的模块
我使用的是django 1.6b和python 2.7.5,我得到了这个导入错误Python ImportError:没有名为localflavor.br.br_的模块,python,django,Python,Django,我使用的是django 1.6b和python 2.7.5,我得到了这个导入错误 # -*- coding: utf-8 -*- from django.db import models from django.contrib.localflavor.br.br_states import STATE_CHOICES class Contato(models.Model): SEXO_CHOICES = ( (u'masculino', u'Masculino'),
# -*- coding: utf-8 -*-
from django.db import models
from django.contrib.localflavor.br.br_states import STATE_CHOICES
class Contato(models.Model):
SEXO_CHOICES = (
(u'masculino', u'Masculino'),
(u'feminino', u'Feminino'),
)
ESTADO_CIVIL_CHOICES = (
(u'solteiro', u'Solteiro'),
(u'casado', u'Casado'),
(u'divorciado', u'Divorciado'),
(u'viuvo', u'Viúvo'),
)
contato_id = models.AutoField(primary_key=True)
contato_nome = models.CharField(max_length=45, verbose_name='Nome')
contato_nascimento = models.DateField(verbose_name='Data de Nascimento')
contato_sexo = models.CharField(max_length=10, choices=SEXO_CHOICES, verbose_name='Sexo')
contato_estado_civil = models.CharField(max_length=10, choices=ESTADO_CIVIL_CHOICES, verbose_name='Estado Civil')
contato_foto = models.ImageField(max_length=255, blank=True, upload_to='contato/%Y', verbose_name='Foto')
contato_email = models.EmailField(max_length=255, blank=True, verbose_name='Email')
contato_site = models.URLField(max_length=255, blank=True, verbose_name='Site')
contato_observacoes = models.TextField(blank=True, verbose_name='Observações')
contato_favorito = models.BooleanField(verbose_name='Favorito')
def __unicode__(self):
return self.contato_nome
class Meta:
db_table = u'contato'
verbose_name = 'Contato'
verbose_name_plural = 'Contatos'
ordering = ['contato_nome']
class Endereco(models.Model):
TIPO_LOGRADOURO_CHOICES = (
(u'rua', u'Rua'),
(u'avenida', u'Avenida'),
(u'travessa', u'Travessa'),
)
endereco_id = models.AutoField(primary_key=True)
contato = models.ForeignKey(Contato)
endereco_tipo_logradouro = models.CharField(max_length=10, choices=TIPO_LOGRADOURO_CHOICES, verbose_name='Tipo Logradouro')
endereco_logradouro = models.CharField(max_length=80, verbose_name='Logradouro')
endereco_numero = models.IntegerField(verbose_name='Número')
endereco_complemento = models.CharField(max_length=45, blank=True, verbose_name='Complemento')
endereco_bairro = models.CharField(max_length=80, verbose_name='Bairro')
endereco_cidade = models.CharField(max_length=80, verbose_name='Cidade')
endereco_estado = models.CharField(max_length=2, choices=STATE_CHOICES, verbose_name='Estado')
endereco_cep = models.CharField(max_length=9, blank=True, verbose_name='CEP')
def __unicode__(self):
return '%s %s, %s, %s, %s - %s' % (self.endereco_tipo_logradouro, self.endereco_logradouro, self.endereco_numero, self.endereco_bairro, self.endereco_cidade, self.endereco_estado)
class Meta:
db_table = u'endereco'
verbose_name = 'Endereço'
verbose_name_plural = 'Endereços'
ordering = ['endereco_tipo_logradouro']
class Telefone(models.Model):
TELEFONE_TIPO_CHOICES = (
(u'residencial', u'Residencial'),
(u'celular', u'Celular'),
(u'comercial', u'Comercial'),
)
telefone_id = models.AutoField(primary_key=True)
contato = models.ForeignKey(Contato)
telefone_tipo = models.CharField(max_length=15, choices=TELEFONE_TIPO_CHOICES, verbose_name='Tipo')
telefone_numero = models.CharField(max_length=135, verbose_name='Número')
def __unicode__(self):
return self.telefone_numero
class Meta:
db_table = u'telefone'
导入错误:
python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 284, in execute
self.validate()
File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 310, in validate
num_errors = get_validation_errors(s, app)
File "/usr/lib/python2.7/site-packages/django/core/management/validation.py", line 34, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/usr/lib/python2.7/site-packages/django/db/models/loading.py", line 196, in get_app_errors
self._populate()
File "/usr/lib/python2.7/site-packages/django/db/models/loading.py", line 78, in _populate
self.load_app(app_name)
File "/usr/lib/python2.7/site-packages/django/db/models/loading.py", line 99, in load_app
models = import_module('%s.models' % app_name)
File "/usr/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/home/localuser/agenda/contato/models.py", line 3, in <module>
from django.contrib.localflavor.br.br_states import STATE_CHOICES
ImportError: No module named localflavor.br.br_states
python manage.py syncdb
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/usr/lib/python2.7/site packages/django/core/management/_init__.py”,第399行,从命令行执行
utility.execute()
文件“/usr/lib/python2.7/site packages/django/core/management/__init__.py”,第392行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/usr/lib/python2.7/site-packages/django/core/management/base.py”,第242行,运行于_-argv
self.execute(*args,**选项._dict__;
文件“/usr/lib/python2.7/site packages/django/core/management/base.py”,执行中第284行
self.validate()
文件“/usr/lib/python2.7/site packages/django/core/management/base.py”,第310行,在validate中
num\u errors=get\u validation\u errors(s,app)
文件“/usr/lib/python2.7/site packages/django/core/management/validation.py”,第34行,在get\u validation\u errors中
对于get_app_errors()中的(app_name,error)。项()
文件“/usr/lib/python2.7/site packages/django/db/models/loading.py”,第196行,在get\u app\u errors中
自我.()
文件“/usr/lib/python2.7/site packages/django/db/models/load.py”,第78行,在
自加载应用程序(应用程序名称)
文件“/usr/lib/python2.7/site packages/django/db/models/load.py”,第99行,在load_应用程序中
模型=导入模块(“%s.models”%app\u name)
文件“/usr/lib/python2.7/site packages/django/utils/importlib.py”,第40行,在导入模块中
__导入(名称)
文件“/home/localuser/agenda/contato/models.py”,第3行,在
从django.contrib.localflavor.br.br_状态导入状态_选项
ImportError:没有名为localflavor.br.br_的模块
我曾尝试使用django 1.6.2创建一个应用程序,但我发现查找文档时“导入”有问题,但没有发现任何问题。
目前,我不打算在我的地址模型中使用django helpers,但我不确定是什么导致了此导入异常。它移动了:
更改应用程序的导入语句以引用新包
例如,更改此选项:
from django.contrib.localflavor.fr.forms import FRPhoneNumberField
……为此:
from localflavor.fr.forms import FRPhoneNumberField
请参阅以下文档:如果这解决了您的问题,您可以检查它是否不起作用!“ImportError:没有名为localflavor.br.br_的模块”的问题仍然存在。我在看django 1.6的文档,但它不起作用。你能导入localflavor看看它是否存在吗?我找到了一个解决方案,只是沉迷于状态选择列表,文档帮助,谢谢joel。