跳到主要内容

[企业官网]:创建幻灯片

我们现在来实现这里的幻灯片功能,这个功能我们之前分析过,它有一个图片、标题和内容,如下图所示:

01幻灯片功能

接下来我们就来实现它,首先我们分析一下页面,在我们的前端页面中我们来找一下幻灯片在哪个部分?我们在index.html中来找到幻灯片的部分,如下图:

02轮播图

这里面有三张图片,我们只需要在后台设置好对应的数据,在前端进行一个渲染,在div标签中进行一个替换就可以了。 数据是存储到数据库中的,在django中我们可以使用orm来生成数据库中的数据,我们先找到对应的应用叫做slide,在slide文件夹下面我们找到models.py这个文件,在这里我们创建模型,创建1个类class就叫做slide。通常呢,这个和我们的数据库中的表是一一对应的,它继承models.model。接下来设置对应的字段,我们主要有三个内容:一个是图片,一个是标题,一个是内容。通常我们在创建数据表的时候会有一个主键,所以我们额外的再添加一个主键就是ID,一个表中只有一个主键,它是唯一的,创建主键的时候我们就可以使用models.AutoField,它是主键,我们设置primarykey这个属性设置为True,这个键呢是自增的,每次新增一个数据,它的id就会从1开始计数,以此类推,代码如下:

from django.db import models
# Create your models here.
class Slide (models. Model):
id = models.AutoField(primary_key=True)

接下来设置图片image,第一个参数设置图片名字,第二个参数设置上传路径,第三个参数设置上传图片信息。代码如下:

image = models.ImageField('幻灯片名字', upload_to='slide', help_text='最佳尺寸:1920*1280')

接下来我们设置title,我们使用models.CharField,第一个参数设置标题名字,第二个参数设置最大长度,第三个参数设置提示信息

title = models.CharField('标题', max_length=200,help_text='一级标题')

接下来我们设置content内容,设置内容我们也使用models.Charfield,第一个参数设置内容名字,第二个参数设置最大长度,第三个参数设置提示信息,代码如下:

content = models.CharField('内容', max_length=200, help_text='二级标题')

接下来我们设计一下元类class Meta,在这里面我们添加一些常用的属性,这些信息在我们的后台里显示的时候就非常有作用了。

  • verbose_name幻灯片管理

  • verbose_name_plural幻灯片管理

代码如下:

class Meta:
verbose_name ='幻灯片管理'
verbose_name_plural ='幻灯片管理'

现在我们就创建完了这个slide对应的类,我们要把它应用到数据库就可以使用orm来把数据迁移到数据库上,接下来我们在vscode的终端(terminal)中使用命令ctrl+c先把这个服务关掉,然后我们输入命令生成迁移文件,代码如下:

python manage.py makemigrations

03没有检测到

没有检测到,这是因我们创建了这个应用但是你没有添加到settings.py中,在settings.py中我们需要配置一下,我们搜索INSTALLED_APPS代码块。所有的app虽然你创建了,但是你需要把它应用上,在INSTALLED_APPS代码块添加代码:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'slide',
'team',
'news',
'mysite',
]

那接下来我们再来实现生成迁移文件的命令,代码如下:

python manage.py makemigrations

04报错误信息安装pillow

🔒 试读结束

继续阅读完整内容

以上为免费预览。前往「Django + Vue 全栈课程」,查看后续完整讲解、案例演示和配套资料。

查看课程详情