数据库设置
现在,编辑 mysite/settings.py 。 这是一个普通的 Python 模块,包含了代表 Django 设置的模块级变量。 更改DATABASES 中 'default' 下的以下键的值,以匹配您的数据库连接设置。
-
ENGINE – 从 'django.db.backends.postgresql_psycopg2', 'django.db.backends.mysql','django.db.backends.sqlite3', 'django.db.backends.oracle' 中选一个, 至于其他请查看 also available.
-
NAME – 你的数据库名。如果你使用 SQLite,该数据库将是你计算机上的一个文件;在这种情况下,:setting:NAME 将是一个完整的绝对路径,而且还包含该文件的名称。如果该文件不存在,它会在第一次同步数据库时自动创建(见下文)。
当指定路径时,总是使用正斜杠,即使是在 Windows 下(例如:``C:/homes/user/mysite/sqlite3.db``) 。
-
USER – 你的数据库用户名 ( SQLite 下不需要) 。
-
PASSWORD – 你的数据库密码 ( SQLite 下不需要) 。
-
HOST – 你的数据库主机地址。如果和你的数据库服务器是同一台物理机器,请将此处保留为空 (或者设置为127.0.0.1) ( SQLite 下不需要) 。查看 HOST 了解详细信息。
如果你是新建数据库,我们建议只使用 SQLite ,将 ENGINE 改为 'django.db.backends.sqlite3' 并且将 NAME 设置为你想存放数据库的地方。 SQLite 是内置在 Python 中的,因此你不需要安装任何东西来支持你的数据库。
2.python manage.py syncdb 同步表,因为默认安装中需要
默认情况下,:setting:INSTALLED_APPS 包含以下应用,这些都是由 Django 提供的:
- django.contrib.auth – 身份验证系统。
- django.contrib.contenttypes – 内容类型框架。
- django.contrib.sessions – session 框架。
- django.contrib.sites – 网站管理框架。
- django.contrib.messages – 消息框架。
- django.contrib.staticfiles – 静态文件管理框架。
这些应用在一般情况下是默认包含的。
所有这些应用中每个应用至少使用一个数据库表,所以在使用它们之前我们需要创建数据库中的表。要做到这一点,请运行以下命令:
3.一个项目中包含多个应用
你的应用可以存放在 Python path 中的任何位置。在本教材中,我们将通过你的 manage.py 文件创建我们的投票应用,以便它可以作为顶层模块导入,而不是作为 mysite 的子模块。
要创建你的应用,请确认与 manage.py 文件在同一的目录下并输入以下命令:
4.再次编辑 settings.py 文件,在 INSTALLED_APPS 设置中加入 'polls' 字符。因此结果如下所示
5. python manage.py shell
from polls.models import Poll,Choice
Poll.objects.all()
from django.utils import timezone
p = Poll(question="what is new?", pub_date=timezone.now())
model 重写 __unicode__(self):
return self.。。。。
6.Poll.objects.filter(id=1)
Poll.objects.filter(question__startswith='What')
p = Poll.objects.get(pk=1)
p.choice_set.all()
p.choice_set.create(choice_text='Not much', votes=0)
c = p.choice_set.create(choice_text='july',votes=0)
c.poll
p.choice_set.all();
p.choice-set.cout()
Choice.objects.filter(poll__pub_date__year=current_year)
c = p.choice_set.filter(choice_text__startswith='t')
c.delete()