django数据库模型搭建

目录

1、创建app

(1)启动虚拟环境

(2)切到django项目的目录

(3)app的结构

2、数据库建模

3、settings配置

1、安装app

2、进行数据库配置

3、时区和语言

4、媒体配置

4、数据库同步

1、django校验

2、数据库语句生成

3、数据库同步

5、django admin后台

创建admin后台管理系统的超级用户

在app当中的admin文件注册数据表

添加__str__方法,来加强实例的可读性

ArticleAdmin类修改显示的样式


1、创建app

(1)启动虚拟环境

activate djangopath

django数据库模型搭建

(2)切到django项目的目录

这一步操作需要命令行在有manage.py的目录里

python manage.py startapp artical

django数据库模型搭建

(3)app的结构

django数据库模型搭建

artical中有这些文件

  • __init__.py包文件
  • Admin.py后台管理文件
  • App.py应用管理文件
  • Moderls.py模型文件
  • Test.py单元测试文件
  • Views.py试图文件
  • migrations
    • __init__.py

 

2、数据库建模

django数据库模型搭建

在app当中的models文件里进行数据库建模

class 表名(models.Model):
    字段 = models.类型(参数)

类型:
CharField 字符串
Max_lenth 长度
TextField 文本类型
DataField 时间 年月日
DataTimeField 时间 年月日时分秒
ImageField 图片,Upload_to 上传地址
EmailField 邮箱,符合邮箱地址格式的字符串
IntegerField 数字 整数

from django.db import models


# Create your models here.


class Type(models.Model):
    label = models.CharField(max_length=32)  # lable char(30)
    description = models.TextField()


class Author(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField()
    birthday = models.DateField()
    email = models.EmailField()
    phone = models.CharField(max_length=32)
    photo = models.ImageField(upload_to="images")
    address = models.TextField()


class Article(models.Model):
    title = models.CharField(max_length=32)
    author = models.ForeignKey(to=Author, on_delete=models.CASCADE)
    time = models.DateField()
    description = models.TextField()
    content = models.TextField()
    picture = models.ImageField(upload_to="images")
    type = models.ManyToManyField(to=Type)


class Picture(models.Model):
    label = models.CharField(max_length=32)
    image = models.ImageField(upload_to="images")


class Message(models.Model):
    content = models.TextField()
    time = models.DateTimeField()
    messager = models.CharField(max_length=32)

3、settings配置

 

django数据库模型搭建

1、安装app

在INSTALLED_APPS列表中添加article

django数据库模型搭建

 

2、进行数据库配置

(1)首先在mysql创建blog数据库

django数据库模型搭建

(2)在settings进行数据库配置

django数据库模型搭建

3、时区和语言

django数据库模型搭建

4、媒体配置

媒体配置在settings里没有,需要自己在后面写入

MEDIA_URL 媒体文件前端的路由,不可以和STATIC_URL一样

MEDIA_ROOT 媒体文件上传的根目录,会和imageField当做的upload拼接形成 完整的上传路径

django数据库模型搭建

 

 

4、数据库同步

1、django校验

python manage.py check

django数据库模型搭建

2、数据库语句生成

python manage.py makemigrations

django数据库模型搭建

生成成功之后可以在artical下的migrations下看到一个0001_initial.py文件

django数据库模型搭建

如果失败的话,大概率是因为不认为mysql,所以可以修改__init__.py文件试一下

django数据库模型搭建

3、数据库同步

python manage.py migrate

django数据库模型搭建

然后可以在数据库里查看一下,看看有没有同步成功

django数据库模型搭建

5、django admin后台

Admin是django官方定义的一个完整的后台系统,在我们下载django的同时下载下来。

django数据库模型搭建

创建admin后台管理系统的超级用户

python manage.py createsuperuser

django数据库模型搭建

 

然后登陆/admin路由进行操作

django数据库模型搭建

在app当中的admin文件注册数据表

admin.site.register(数据表名)

这里是使用的之前在models文件定义的数据表

from django.contrib import admin

# Register your models here.
from artical.models import *

admin.site.register(Article)
admin.site.register(Author)
admin.site.register(Message)
admin.site.register(Type)
admin.site.register(Picture)

然后再看

django数据库模型搭建

 

点击Articles

 

django数据库模型搭建

 

django数据库模型搭建

添加__str__方法,来加强实例的可读性

可以看到,这个返回的是一个对象的名字,影响我们的观感,所以可以在数据库当中

django数据库模型搭建

让它返回标题的名字

其它的数据库也可以修改一下

django数据库模型搭建

django数据库模型搭建

 

ArticleAdmin类修改显示的样式

 

django数据库模型搭建

把这个类,添加给Article

django数据库模型搭建

而在修改之前,界面是这样的

django数据库模型搭建