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

(2)切到django项目的目录

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

python manage.py startapp artical

(3)app的结构

artical中有这些文件

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

 

2、数据库建模

在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配置

 

1、安装app

在INSTALLED_APPS列表中添加article

 

2、进行数据库配置

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

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

3、时区和语言

4、媒体配置

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

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

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

 

 

4、数据库同步

1、django校验

python manage.py check

2、数据库语句生成

python manage.py makemigrations

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

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

3、数据库同步

python manage.py migrate

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

5、django admin后台

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

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

python manage.py createsuperuser

 

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

在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)

然后再看

 

点击Articles

 

 

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

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

让它返回标题的名字

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

 

ArticleAdmin类修改显示的样式

 

把这个类,添加给Article

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值