#收藏与点赞功能本节讲一下个人菜单中另外两个比较重要的功能,“我的收藏”与“我的喜欢”。通过学习这两个功能,我们会加深对django中通用视图类的理解与应用。 ##我的收藏###模型上一节已经实现这个模型了我的收藏、我的喜欢,都是与我关联,又因为,我可以收藏多个视频,视频也可以被多个用户收藏,所以用户与视频是属于多对多的关系。所以我们在video模型上添加两个字段liked和collected,分别对应我喜欢和我收藏。 # video/models.py class Video(models.M…
分类详情
Django视频网站搭建 分类
#首页功能在本讲中,我们开始首页功能的开发,在开发过程中,学习到Django中的通用视图类、分页对象paginator以及foreignKey外键的使用。 首页拆解为4个小的业务模块来开发,分别是:列表显示、分页功能、搜索功能、分类功能。 下面我们分别对这四个功能模块进行开发讲解。开发思路 开发一个功能的基本思路是:先新建应用,然后分析功能涉及到哪些业务,从而分析出需要的数据库字段,然后编写模型,之后就是展示阶段,通过url路由配置视图函数,来将模型里面的数据显示出来。 ok,我们通过命令建立应…
#详情页面开发在本讲中,我们开始详情页功能的开发. 详情页就是对单个视频进行播放并展示视频的相关信息,比如视频标题、描述、评论信息、相关推荐等。 我们将会学习到通用视图类DetailView的使用、评论动态加载、以及如何通过ajax实现喜欢和收藏功能,并通过一段段很酷的代码来说明这些功能。 #整体功能 1.详情页功能。 2.对单个视频进行展示,包括标题、描述、观看次数 3.点赞和收藏功能。 4.评论功能,通过上拉网页即可分页加载评论列表,用户还能添加评论。 5.侧栏推荐视频列表,推荐逻辑为推荐观…
#个人中心功能从本讲起,我们开始个人中心功能的开发。个人中心里面包括以下几个部分 个人资料 修改密码 订阅设置 意见反馈 通过这部分的开发,我们将会接触到更多django的用法。 ##整体功能 个人中心模块是对用户的信息进行展示并可以编辑。 其中个人资料、修改密码、订阅设置是对用户信息的编辑,反馈建议是属于创建新数据。##个人资料 这里主要是对个人资料进行编辑,先显示用户原有的信息, 然后用户即可对其进行修改并保存,对于编辑功能,django有自己的解决方案, 即通过通用视图类UpdateVie…
#邮件管理功能 订阅功能已经实现了:当用户订阅开启订阅功能后,网站会通过后台给用户发送网站最新的一些动向。但是有时候需要关闭推送功能,比如网站邮件做一些调整之类的。 因此需要灵活的设置发送邮件功能。 本节来实现这个功能###路由设置 我们先来写订阅推送的路由, # -----------------------设置---------------------------- path('setting/<int:pk>/', views.SettingView.as_view(), name='se…
#数据总览功能数据总览功能,是对网站中产生的数据进行一个统计,统计出视频数、发布数、用户数、评论数,等等。让管理者对网站数据有一个清晰的认识,做到心中有数。 在本站中,笔者一共列举了下面几种数据:视频数、发布中未发布、用户数、用户新增、评论数、评论新增,等几项内容。 我们把所有的数据都封装到了一个函数里面,即 IndexView 它位于后台管理的首页。##路由设置 path('', views.IndexView.as_view(), name='index'), ##视图设置通过IndexVi…
#后天反馈功能用户反馈管理功能,是对前端用户反馈的问题进行展示,并可实现删除功能。 它可以实时的跟踪到用户对网站的各种意见和吐槽,开发者能及时修缮网站功能或者修改网站bug。 ##路由设置反馈管理包括反馈列表和反馈删除,它们的路由是 path('feedback_list/', views.FeedbackListView.as_view(), name='feedback_list'), path('feedback_delete/', views.feedback_delete, name=…
#订阅邮件推送功能本讲我们会讲到一些关于发邮件的技术。 订阅功能是一个很常见的功能,当用户订阅某个网站后,网站会通过后台给用户发送网站最新的一些动向,一般是通过邮件来发送的。 当你阅读完本节内容,会对发邮件的流程有一个大概的了解。 配置相关参数发送邮件是需要配置相关参数的,且每个邮件服务商都有自己的配置值,笔者使用的是163邮箱,在settings.py追加如下配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 邮…
#后台用户管理功能用户管理功能,跟其他功能也类似,增删改查 ##路由设置先在urls.py下添加相关的路由 path('user_add/', views.UserAddView.as_view(), name='user_add'), path('user_list/', views.UserListView.as_view(), name='user_list'), path('user_edit/<int:pk>',views.UserEditView.as_view(), name='u…
#后台评论功能本讲中来讲评论管理功能,数据库中的每一条是来自用户的评价, 因此后台中的评论管理只有评论列表和评论删除功能,没有增加评论和编辑评论。##路由设置照例我们先添加评论管理的相关路由 # myadmin/urls.py # ----------------------评论管理---------------------------- path('comment_list/', views.CommentListView.as_view(), name='comment_list'), pa…
#后台视频管理功能从本讲开始,我们开始视频管理功能的开发,视频管理包括 视频上传 视频列表 视频编辑 视频删除 这一讲非常重要,因为将学习到一些之前没有学过的技术,比如大文件上传技术。##视频上传 我们先来实现视频的上传,视频的上传采用的是分块上传的策略,并用了分块上传类库:django_chunked_upload,使用该类库,再配合前端上传js库(jquery.fileupload.js),即可完美的实现文件的分块上传功能。###路由设置照例先编写添加视频的路由 添加视频,当然需要上传视频的…
#视频分类视频分类的功能,主要包括以下内容 分类列表 添加分类 修改分类 删除分类 分类管理功能包括分类的增删改查。###路由设置增删改查的路由是 path('classification_add/', views.ClassificationAddView.as_view(), name='classification_add'), path('classification_list/', views.ClassificationListView.as_view(), name='classi…
#后台登录功能从本讲起,我们会介绍后台管理系统的开发,后台管理 主要是对数据库中的数据进行增、删、改、查的操作,满足网站管理员对网站的管理与维护的需求。 其实,django自带的也有一个后台管理系统(/admin),但是自带的后台非常简陋, 无论是界面,还是功能上,都无法满足用户的需求,因此,需要自己开发了一套后台管理系统。##创建新的app后台管理属于一个单独的模块,我们创建一个新的应用,命名为myadmin scriptpython3 manage.py startapp myad…
#前端页面整合在本讲中,我们开始前端页面整合 在开发过程中,前端页面也很重要,本次内容简单的对前面三节内容的前端页面做一个简单的整合 尘归尘,土归土,内容整理之后会讲内容看的更加清晰 基础页面基础页面包括,header base footer三个部分 base页面所有的页面都起始于这个页面 {% load static %} <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UT…
#注册登录功能 用户注册登录是一个网站的基本功能,django对这部分进行了很好的封装, 我们只需要在django的基础上做些简单的修改就可以达到我们想要的效果。 在本讲中,我们会用到user中的用户授权方面的一些函数,还会对django中的user进行扩展,以及django中的form验证。 #创建users应用 django的设计哲学是,一个应用只提供一种功能,比如users应用只提供用户相关功能,comment应用只提供评论相关功能, 这能提高代码的重复利用率。 在django中,只需要下…
#基于django的视频点播网站开发##项目介绍本文将会对该项目进行一个简单的介绍,包括项目名称、项目背景、项目功能、技术栈等等。 项目名称: 基于django的视频点播网站开发 ###项目背景 视频点播网站,搭建一个视频点播网站,练习学习一下django技术,学以致用。项目功能 ###项目功能本项目分为前台和后台 前台功能 视频列表展示 视频播放详情 详情评论 个人中心 后台功能 视频管理 评论管理 用户管理 反馈管理 本讲中,主要搭建开发环境。我们会依次安装python、pip、django…