大家好,这是皮爷给大家带来的最新的学习Python能干啥?之Django教程,从零开始,到最后成功部署上线的项目。这一节,我们将开发友链,并且是全套流程哦,全套!
经过之前几节的文章开发,我们其实已经很完善的开发了一套从后台模型,管理再到前端展示的工作。
所以,这一节,我们就来开发一下首页右下角的友链功能。
需求分析
友链功能的开发,主要涉及这么几个部分:
- 友链模型的设计;
- 友链后台管理开发;
- 友链前端数据接入
这几部分的内容分别对应之前的类似课程:
- 模型设计:《第13节 设计实现文章发布模型》
- 后台管理开发:《第14节 CMS中添加Category和Tag管理》还有《15. 开发文章管理》
- 前端数据的接入: 《第18节 首页文章列表展示》和《第19节 热门文章数据展示》
由于这些内容,之前的文章里面都有所设计,所以这一节我们就主要来整体的捋一遍,算是复习。
模型开发
友链的功能主要是,一个name用来显示内容,后面还有一个URL地址。所以我们首先创建友链的应用,然后在应用里面models.py文件中设计类:
class ExchangeLink(models.Model):
STATUS_NORMAL = 1
STATUS_DELETE = 0
STATUS_DRAFT = 2
STATUS_ITEMS = (
(STATUS_NORMAL, '正常'),
(STATUS_DELETE, '删除'),
(STATUS_DRAFT, '草稿'),
)
name = models.CharField(max_length=30)
show_name = models.CharField(max_length=30)
url = models.URLField()
create_time = models.DateTimeField(auto_now_add=True)
status = models.PositiveIntegerField(default=STATUS_DRAFT, choices=STATUS_ITEMS)
我们这里也引入了status,为的是方便管理,show_name
是为了在前台显示用。
接下来就是要在settings.py文件的INSTALLED_APPS
中配置exchangelink应用:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.peekpauser',
'apps.poster',
'apps.exchangelink', #新添加的友链应用
]
然后执行$ makemigrations
和$ migrate
两条命令:
查看数据库里,发现新增表单exchangelink_exchangelink
:
后台管理开发
接下来,我们就要开发后台管理了。
首先是修改左侧的sidebar,加入友链管理的入口,同时,在cms目录下,参照Post,Category还有Tag的方式,创建一个manage.html和publish.html两个文件,分别是管理友链还有发布友链:
在cms目录下变成了: