Django入门(二)
数据库配置
打开 mysite/settings.py 。这是个包含了 Django 项目设置的 Python 模块。这个配置文件使用 SQLite 作为默认数据库。
# Database
# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
因为我本地安装有MySQL
,所以将其改为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '输入你的数据库(需要自己创建)',
'USER': 'user',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': 3306,
}
}
具体查阅DATABASES
关注一下文件头部的 INSTALLED_APPS 设置项。
django.contrib.admin
-- 管理员站点, 你很快就会使用它。django.contrib.auth
-- 认证授权系统。django.contrib.contenttypes
-- 内容类型框架。django.contrib.sessions
-- 会话框架。django.contrib.messages
-- 消息框架。django.contrib.staticfiles
-- 管理静态文件的框架。
这些应用被默认启用是为了给常规项目提供方便。
默认开启的某些应用需要至少一个数据表,所以,在使用他们之前需要在数据库中创建一些表。请执行以下命令:
...\> py manage.py migrate
创建模型
在 Django 里写一个数据库驱动的 Web 应用的第一步是定义模型 - 也就是数据库结构设计和附加的其它元数据。
在这个投票应用中,需要创建两个模型:问题 Question 和选项 Choice。Question 模型包括问题描述和发布时间。Choice 模型有两个字段,选项描述和当前得票数。每个选项属于一个问题。
这些概念可以通过一个 Python 类来描述。按照下面的例子来编辑 polls/models.py 文件:
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
激活模型
为了在我们的工程中包含这个应用,我们需要在配置类 INSTALLED_APPS
中添加设置。因为 PollConfig
类写在文件 poll/apps.py
中,所以它的点式路径是 'poll.apps.PollConfig'。在文件 mysite/settings.py
中 INSTALLED_APPS
子项添加点式路径后,它看起来像这样:
INSTALLED_APPS = [
'poll.apps.PollsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Django 项目会包含 poll 应用。接着运行下面的命令:
...\> py manage.py makemigrations poll
将会看到类似于下面这样的输出:
Migrations for 'polls':
poll/migrations/0001_initial.py
- Create model Question
- Create model Choice
运行 migrate
命令,在数据库里创建新定义的模型的数据表:
...\> py manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
Rendering model states... DONE
Applying polls.0001_initial... OK
注:改变模型需要这三步:
- 编辑
models.py
文件,改变模型。 - 运行
python manage.py makemigrations
为模型的改变生成迁移文件。 - 运行
python manage.py migrate
来应用数据库迁移。
数据库API
通过 Django 直接与数据库进行交互
数据库API
介绍 Django 管理页面
管理界面不是为了网站的访问者,而是为管理者准备的。
Django 管理页面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!