Django py manage.py makemigrate

Django py manage.py makemigrate

我可以用它做什么?我是 python 和 django 的初学者。我下载了它,然后我写了 py manage.py makemigrate,但出现错误。你能帮帮我吗?

您需要提供设置文件中列出的所有环境变量。例如屏幕截图中显示的 DB_NAME。搜索 os.environ[<VARIABLE_NAME>],应定义每个 VARIABLE_NAME

您的问题与 setting.py 中的数据库配置有关。如果您使用的是默认的 SQLite,那么 copy/paste 这个:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

您的项目将运行良好。在此之后,运行

python manage.py makemigrations
python manage.py migrate #copy all migrations to the database
python manage.py createsuperuser #to have a admin user to login to adminpanel
python manage.py runserver #starting the server

否则,请查看 official documentation 如何连接 MySQL、PostgreSQL、Oracle 数据库和所需的配置。

您的错误在 here:

SQLite 与 MySQL 或其他数据库不同。实际上,它不是一个真正的数据库。您正在使用端口、用户名、密码等。这些是错误的原因。 SQLite 不在服务器或其他地方 运行ning。它只是一个包含数据信息的文件。将你的更新为我上面的,它应该再次开始工作或将你的数据库更改为 MySQL 或其他。

如果您是初学者,最好继续阅读文档并按 https://docs.djangoproject.com/en/2.1/intro/tutorial01/

如果您可以分享 settings.py 的数据库部分,将会有所帮助。

通常 python manage.py startapp appname 应该会为您创建必要的文件。 之后 python manage.py makemigrationspython manage.py migrate 应该可以正常工作。而这不应该来。