当前位置 博文首页 > 铭铭铭铭天的博客:博客项目--博客模型

    铭铭铭铭天的博客:博客项目--博客模型

    作者:[db:作者] 时间:2021-08-07 22:06

    一、创建子应用

    1. 创建子应用

      python manage.py startapp Article

    2. 注册子应用
      在settings.py 的文件中的 INSTALLED_APPS 下注册子应用
      在这里插入图片描述

    配置数据库

    1. 这里使用的是mysql 数据库,在settings 文件里配置数据库
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'blog',
            'USER': 'root',
            'PASSWORD': '',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }
    
    1. 在mysql 数据库里创建一个 blog 库
      create database blog charset=utf8;

    2. 检查:python manage.py check
      django 默认使用mysqldb作为mysql数据库操作模块,python3默认采用pymysql导致的兼容问题
      需要在项目主目录的__init__.py当中加入两行代码

    import pymysql
    pymysql.install_as_MySQLdb()
    

    编写模型

    from django.db import models
    from ckeditor.fields import RichTextField
    
    # Create your models here.
    GENDER_LIST = (
        (0,'女'),
        (1,'男')
    )
    # 作者类
    class Author(models.Model):
        name = models.CharField(max_length=32,verbose_name='作者姓名')
        gender = models.IntegerField(choices=GENDER_LIST,verbose_name='性别')
        age = models.IntegerField(verbose_name='年龄')
        email = models.EmailField(verbose_name='邮箱')
        class Meta:
            db_table = 'authors'
    # 文章类型
    class Type(models.Model):
        name = models.CharField(max_length=32)
        description = models.TextField()
        class Meta:
            db_table = 'type'
    # 文章类
    class Article(models.Model):
        title = models.CharField(max_length=32)
        date = models.DateField(auto_now=True)
        content = models.TextField()
        description = models.TextField()
        author = models.ForeignKey(to=Author,on_delete=models.CASCADE)
        type = models.ManyToManyField(to=Type)
        class Meta:
            db_table = 'article'
    

    同步表结构

    写完模型之后需要在数据库中同步生成对应的表结构,

    1. 先生成迁移文件
      代码:python manage.py makemigrations
    2. 迁移文件,生成表结构
      代码:python manage.py migrate

    站点管理的配置和使用

    1. 创建超级用户
      代码:python manage.py createsuperuser
      创建过程需要设置账号,密码等
    2. 安装模型类
      在创建的类中传入模型类名
      在这里插入图片描述
    3. 访问 127.0.0.1:8000/admin 登录后台管理
      1. 站点管理管理数据在这里插入图片描述
      2. 后台站点,中文显示在这里插入图片描述
    cs
    下一篇:没有了