django初始化数据库的实例

下面是 Django 初始化数据库的实例攻略:

准备工作

Django项目中进行数据库操作之前,需要先在 settings.py 中配置数据库信息。具体数据库的设置信息包括:

  • 数据库的类型
  • 数据库的名称
  • 用户名和密码
  • 数据库的 Host 和 Port
  • 其他一些可选项

本文将以 PostgreSQL 数据库为例,介绍如何初始化数据库。在开始之前,需要确保已安装 psycopg2 Python 包。

1. 环境搭建

首先,需要在本地搭建好 PostgreSQL 环境。在本地安装好该数据库之后,需要创建一个新的数据库,并且为它创建一个新的用户及密码。

2. 配置 Django 项目

settings.py 中设置数据库信息,如下:

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        "NAME": "your_database_name",
        "USER": "your_username",
        "PASSWORD": "your_password",
        "HOST": "127.0.0.1",
        "PORT": "5432",
    }
}

其中,ENGINE 表示数据库引擎的类型,这里指定为 postgresql_psycopg2default 表示数据库配置的名称,当在使用 Django 操作数据库时就可以使用这个名称来指定使用哪个数据库。

3. 数据库迁移

在配置完数据库信息后,需要进行数据库迁移操作,以创建数据库中的表。具体步骤如下:

3.1 创建 Django 应用

在创建数据库之前,需要创建一个 Django 的应用,可以通过 python manage.py startapp your_app_name 命令来创建。

3.2 定义模型

在应用中的 models.py 文件中定义模型,例如:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()
    class Meta:
        db_table = 'person'

Person 模型继承自 models.Model,表示数据库表的一个映射。其中 nameage 为该表的两个字段,Meta 中的 db_table 用于指定该模型所对应的数据库表的名称。

3.3 进行迁移操作

完成上述模型定义后,需要执行下列命令来进行数据库迁移操作:

python manage.py makemigrations
python manage.py migrate

makemigrations 命令用于生成迁移文件,而 migrate 命令则用于将生成的迁移文件应用到数据库中。

示例

假设我们创建了一个 DJANGO 应用,应用名为 myapp。则可以按照以下方式初始化数据库。

示例1

# myapp/models.py
from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()

# 初始化数据库
python manage.py makemigrations
python manage.py migrate

执行 python manage.py makemigrations 命令后,会生成 myapp/migrations/0001_initial.py 文件,该文件内容如下:

# Generated by Django 3.0.7 on 2020-06-14 14:10

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Person',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=30)),
                ('age', models.IntegerField()),
            ],
        ),
    ]

然后执行 python manage.py migrate 命令,会在 your_database_name 数据库中创建名为 myapp_person 的表。

示例2

# myapp/models.py
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)

# 初始化数据库
python manage.py makemigrations myapp
python manage.py migrate myapp

执行 python manage.py makemigrations myapp 命令后,会生成 myapp/migrations/0001_initial.py 文件,该文件内容如下:

# Generated by Django 3.0.7 on 2020-06-14 14:20

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Book',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=100)),
                ('author', models.CharField(max_length=50)),
            ],
        ),
    ]

然后执行 python manage.py migrate myapp 命令,会在 your_database_name 数据库中创建名为 myapp_book 的表。

到此,在Django框架上初始化数据库的流程就结束了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django初始化数据库的实例 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 用 Django 开发一个 Python Web API的方法步骤

    下面是用 Django 开发一个 Python Web API的方法步骤的完整攻略。 1. 创建 Django 项目 首先我们需要创建一个 Django 项目,打开控制台,输入以下命令: django-admin startproject project_name 其中,project_name 可以替换为你想要创建的项目名称。 2. 创建 Django A…

    Django 2023年5月16日
    00
  • python+django+虚拟环境(virtualenv[wrapper])+nginx+uwsgi在linux中的安装配置

    编译安装python3 安装依赖 sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev  sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqli…

    Django 2023年4月13日
    00
  • django – 总结 – redis缓存

    八、redis 补充- 操作 – 增删改查 对字典,重新设计结构,增删改查。 hmset  keys  hget   scan_iter  hgetall  import redis import json conn = redis.Redis(host=’140.143.227.206′,port=6379,password=’1234′) “”” —…

    Django 2023年4月13日
    00
  • 利用django创建一个投票网站(三)

    这一篇从第二部分(zh)结尾的地方继续讲起。我们将继续编写投票应用,并且聚焦于如何创建公用界面——也被称为“视图”。 设计哲学 Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」。比如,在一个博客应用中,你可能会创建如下几个视图: 博客首页——展示最近的几项内容。 内容“详情”页——详细展示某项内容。 以年为单位的归档页——展示选中的年份里…

    Django 2023年4月13日
    00
  • 启动Django项目

    Django是一个高效、灵活、模块化的Python web框架,用于快速开发Web应用程序。Django的核心包括模型、视图和模板,它们可以帮助开发人员快速构建功能强大的Web应用程序,并提供一种易于使用的API来连接不同的组件。 在这篇文章中,我们将学习如何启动Django项目。下面是详细的步骤: 首先,确保你安装了Python。 你需要安装Python才…

    Django 2023年3月12日
    00
  • Python的Django框架安装全攻略

    Python的Django框架安装全攻略 简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型(Model)、视图(View)和模板(Template),使得数据的管理更加简单。 本文旨在介绍Django框架的安装步骤,以及如何通过示例说明来体验Django框架的使用。 安装步骤 检查Python环境 在安装…

    Django 2023年5月16日
    00
  • [django]django model的查询和更新

    再分享Django系列的另外几篇文章:Django model select的各种用法详解:https://mp.weixin.qq.com/s/JVh4UnS2Tql9gUVaBSoGuADjango model update的各种用法介绍:https://mp.weixin.qq.com/s/B_aNB8Y8snbSVLURONZ4QgDjango配置C…

    Django 2023年4月10日
    00
  • pycharm、Django+node.js、vue搭建web项目

    参考文章:https://www.wandouip.com/t5i35466/  在此感谢 本篇接着上一篇:windows10使用npm安装vue、vue-cli  首先Django项目是搭建好的,就是新建一个Django项目,然后建一个app 在terminal运行命令:vue-init webpack vuepro   其中vuepro是我web前端项目…

    2023年4月9日
    00
合作推广
合作推广
分享本页
返回顶部