使用Django的管理界面来管理应用程序的数据库

简要概述

    • Docker-composoe + Django環境で作業環境を整えます。

 

    • Djangoは専用の管理画面からデータベースの操作(作成や編集など)が行えます。

つまりPHPMyAdminなどが不要!!

环境

    • Docker + Docker-compose が利用できること。

 

    • Python3.6

 

    Django3.1(最新)

前提 tí)

Docker-compose + Django + MySQL + Nginx + uwsgi を使った環境の初期設定 が完了していること

djangoが起動中である
データベースへアクセスできる
管理画面へアクセスできる

または、同等の環境であること

操作步骤

创建应用程序

    • アプリケーションの作成

django: Dockerコンテナ名
sample: アプリケーション名

$ docker-compose exec django python3 manage.py startapp sample

配置更改

src/app/settings.pyを編集する

INSTALLED_APPS に作成したアプリケーションを追加する

sample: フォルダ名
SampleConfig: src/app/sample/apps.py に書いてあるclass名

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'sample.apps.SampleConfig',         # 追加
]

创建模型

src/app/sample/models.pyを編集する

from django.db import models


class Test1(models.Model):
    class Meta:
        verbose_name_plural = "テスト1"

    test1_name = models.CharField("テスト名",max_length=25)
    test1_value = models.CharField("テスト値",max_length=25)
    def __str__(self):
        return self.test1_name


class Test2(models.Model):
    class Meta:
        verbose_name_plural = "テスト2"

    test1= models.ForeignKey(Test1, on_delete=models.PROTECT)
    test2_name = models.CharField("テスト名",max_length=25)
    test2_value = models.CharField("テスト値",max_length=25)
    def __str__(self):
        return self.test2_name

设置管理界面

src/app/sample/admin.pyを編集する

from django.contrib import admin

# Register your models here.

from sample.models import Test1, Test2
admin.site.register(Test1)
admin.site.register(Test2)

迁移

    マイグレーションファイルを作成して実行
$ docker-compose exec django ./manage.py makemigrations
$ docker-compose exec django ./manage.py migrate

确认

    • 下記へログインするとモデルで作成したデータベースが操作できる

http://:8000/admin

广告
将在 10 秒后关闭
bannerAds