PyCharm 无法正确创建 Django 项目
我是一名有经验的Java开发者,想要学习Django和Python。于是我决定从官方的Django教程开始,但在前几步就遇到了问题。
- 我用向导创建了一个新的Django项目:
- 继续使用向导时,我确保勾选了
启用Django管理后台
:
- 接着,创建了如下的目录结构:
- 当我打开localhost:8000时,出现了以下错误页面:
尽管在settings.py
中INSTALLED_APPS
设置如下,但这个错误信息依然出现:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'FirstDjangoProjects.polls',
)
我没有做任何更改,而官方教程建议我应该可以直接启动这个项目。那么这是怎么回事呢?
3 个回答
我觉得这个教程并没有假设你会激活管理员功能,而你在上面的截图中告诉PyCharm要创建它,所以你就偏离了教程的场景。不过,如果你按照建议连接到数据库,应该还是能正常工作的。当然,你会看到管理员登录界面,而不是教程中预期的“欢迎来到Django”的界面,因为你激活了管理员功能,但为了“第一个Django应用程序”,你可以认为它是“正常工作的”。
我觉得这里并没有暗示PyCharm在创建项目时有什么问题。显然,你只是偏离了Django教程的流程。我也预期(虽然我没有尝试过)如果在PyCharm的设置中不勾选“启用Django管理员”,教程应该可以和PyCharm一起正常工作。
(Django 1.5.1,但可能其他版本也适用)
我刚试了一下,发现PyCharm在创建项目时漏掉了一个步骤,就是设置数据库(管理员应用的配置都已经为我创建好了)。
当你按照你描述的方式创建完项目后,打开 settings.py
文件,完成 DATABASES 的设置。对于一个简单的项目,这意味着要填写sqlite3的相关设置,比如在Windows系统下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'c:/temp/db.blah',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
保存后,运行 syncdb。在PyCharm中,你可以按 Ctrl-Alt-R,或者去 工具 -> 运行 manage.py 任务...,然后选择或输入 syncdb。
因为数据库是新的,你会被要求创建一个标准的管理员django账户等等。然后在PyCharm中重启应用(按 shift-F10),你的管理员控制台应该可以在
http://127.0.0.1:8000/admin
访问。
我觉得JetBrains在他们的Django项目创建向导上还有一些工作要做。
你需要先编辑一下urls.py文件,以便启用管理员功能,然后在尝试登录管理员之前,先运行syncdb命令。