【问题标题】:Why did I get error for python manage.py syncdb (IndentationError: unexpected indent)为什么我收到 python manage.py syncdb 错误(IndentationError:意外缩进)
【发布时间】:2012-01-06 12:48:30
【问题描述】:
from django.db import models


class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.CharField(max_length=1000)
    created = models.DateField()
    modified = models.DateField()

python manage.py syncdb 出错:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 219, in execute
    self.validate()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/validation.py", line 35, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 146, in get_app_errors
    self._populate()
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 61, in _populate
    self.load_app(app_name, True)
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/loading.py", line 78, in load_app
    models = import_module('.models', app_name)
  File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/home/user1/djangoblog/../djangoblog/blog/models.py", line 7
    created = models.DateField()
    ^
IndentationError: unexpected indent

【问题讨论】:

  • 只需小心地使用空格从头开始键入您的模型

标签: python django model


【解决方案1】:

您是否在文件中混合了制表符和空格?这是导致此类错误的最常见原因。

【讨论】:

  • 制表符和空格混合是什么意思?
  • 在 Python 中,缩进有两种选择——制表符或空格(通常是 4 个空格)。虽然两者都可以单独工作,但当您将它们组合在同一个类或函数定义中时,它可能会导致意外行为。如果您从另一个来源下载代码,该来源使用与您不同的约定,然后将其添加到其中,则这是可能的。尝试删除所有四行缩进并将它们替换为每行一个制表符或(首选)每四个空格。
【解决方案2】:

我忍不住注意到您发布的 sn-p 使用了标签。尝试使用空格缩进的相同代码。

【讨论】:

    【解决方案3】:

    您可能在需要制表符或空格的地方有空格或制表符。

    【讨论】:

      猜你喜欢
      • 2012-05-01
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 2020-12-17
      • 2021-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多