Python models.py中的Django错误
我有一个问题,当您创建类并同步数据库时,会出现以下错误Python models.py中的Django错误,python,django,python-2.7,django-models,Python,Django,Python 2.7,Django Models,我有一个问题,当您创建类并同步数据库时,会出现以下错误 (DjangoAvanzado)Ricardos-MacBook-Pro:SistemaDiscusiones ricardoeduardosaucedo$ python manage.py syncdb --settings=SistemaDiscusiones.settings.local Traceback (most recent call last): File "manage.py", line 11, in <mo
(DjangoAvanzado)Ricardos-MacBook-Pro:SistemaDiscusiones ricardoeduardosaucedo$ python manage.py syncdb --settings=SistemaDiscusiones.settings.local
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_from_command_line(sys.argv)
File "/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/ricardoeduardosaucedo/Curso Django Avanzado/SistemaDiscusiones/apps/users/models.py", line 5
class UserManager(BaseUserManager):
^
IndentationError: unexpected indent
(DjangoAvanzado)Ricardos MacBook Pro:sistemadiscusions ricardoeduardosaucedo$python manage.py syncdb--settings=sistemadiscusions.settings.local
回溯(最近一次呼叫最后一次):
文件“manage.py”,第11行,在
从命令行(sys.argv)执行命令
文件“/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site packages/django/core/management/_init__uuuuuuu.py”,第338行,从命令行执行
utility.execute()
文件“/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site packages/django/core/management/_init___;.py”,执行中第312行
django.setup()
文件“/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site packages/django/_init_uuuuuuuu.py”,第18行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site packages/django/apps/registry.py”,第108行,填充
app_config.import_models(所有_models)
导入模型中的文件“/Users/ricardoeduardosaucedo/DjangoAvanzado/lib/python2.7/site packages/django/apps/config.py”,第198行
self.models\u module=导入模块(models\u module\u name)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/_init__.py”,第37行,在导入模块中
__导入(名称)
文件“/Users/ricardoeduardosaucedo/Curso Django Avanzado/sistemadiscusions/apps/Users/models.py”,第5行
类UserManager(BaseUserManager):
^
缩进错误:意外缩进
回溯可能看起来很可怕,但在这种情况下,如果从底部开始,然后向上展开,则信息非常清楚
File "/Users/ricardoeduardosaucedo/Curso Django Avanzado/SistemaDiscusiones/apps/users/models.py", line 5
class UserManager(BaseUserManager):
^
IndentationError: unexpected indent
错误消息告诉您在Avanzado/sistemdiscusiones/apps/users/models.py
的第5行有缩进错误
检查该行开头是否没有空格,以及是否未使用制表符。如果仍然无法解决问题,请编辑问题并发布该文件中的代码。检查缩进。您可能使用的是
选项卡
,而不是4个空格。看起来第5行的开头仍然有空格。您需要删除这些空格,并在需要时修复下面的行。非常感谢您,并获得了正确的结果,但现在我遇到另一个错误:LookupError:没有安装标签为“user”的应用程序,这听起来像是另一个问题。您最好提出一个新问题,并显示完整的回溯,以及您的已安装的应用程序设置。
from django.db import models
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, PermissionsMixin
class UserManager(BaseUserManager):
def _create_user(self, username, email, password, is_staff, is_superuser,
**extra_fields):
if not email:
raise ValueError('El email debe de ser obligatorio')
email = self.normalize_email(email)
user = self.model(username=username, email=email, is_activate=True,
is_staff=is_staff, is_superuser=is_superuser, **extra_fields)
user.set_password(password)
user.save(using = self.db)
return user
def create_user(self, username, email, password=None,
**extra_fields):
return self._create_user(username, email, password, False, False, **extra_fields)
def create_superuser(self, username, email, password,
**extra_fields):
return self._create_user(username, email, password, True, True, **extra_fields)
class User(AbstractBaseUser, PermissionsMixin):
username = models.CharField(max_length=50, unique=True)
email = models.EmailField(max_length=50, unique=True)
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
avatar = models.URLField()
objects = UserManager()
is_activate = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
USERNAME_FIELD = 'username'
REQUIRE_FIELDS = ['email']
def get_short_name(self):
return self.username