django——数据模型的使用与文件上传

1.数据模型

1.什么是数据模型

一般来说,每一个模型都映射一张数据库表。对数据库进行操作,那么数据表就必须与模型进行映射

基础:

  • 每个模型都是一个 Python 的类,这些类继承 django.db.models.Model
  • 模型类的每个属性都相当于一个数据库的字段。
  • 利用这些,Django 提供了一个自动生成访问数据库的 API

以下是一个数据模型示例:

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

2.Meta选项

使用内部 Meta类 来给模型赋予元数据。模型的元数据即“所有不是字段的东西”,比如排序选项( ordering),数据库表名( db_table),或是阅读友好的单复数名( verbose_nameverbose_name_plural)。这些都不是必须的,并且在模型当中添加 Meta类 也完全是可选的。

class Meta:
        ordering = ["horn_length"]
        verbose_name_plural = "oxen"

例如,要将一个模型映射到某张表上,那么就需要在Meta中设置db_table=TableName.

当视图函数中使用数据模型时,请求数据格式为form-data

2.上传文件到静态资源

1.设置静态资源文件夹

首先需要在项目目录下新建一个文件夹用于存储静态资源。

2.将静态资源的目录配置到urls文件和settings文件中

settings文件示例:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

urls文件:

urlpatterns = ([
    path('eg1/', include('eg1.urls')),
    path('eg2/', include('eg2.urls'))
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) )

3.映射文件的数据模型

以下为示例:

class File(models.Model):
    fileName = models.CharField(max_length=10)
    fileUrl = models.CharField(max_length=20)
    id = models.AutoField(primary_key=True)
    class Meta:
        db_table = 'file'

4.视图函数的开发

1.接受文件参数:
uploaded_file = request.FILES['file']

然后将文件与存储文件其他相关信息的数据模型使用save方法依次保存即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北国137

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值