美文网首页
2020-05-15--Django项目14--coursevi

2020-05-15--Django项目14--coursevi

作者: program_white | 来源:发表于2020-05-15 23:47 被阅读0次

    开始学习的实现

    当我们点击开始学习按钮时,要跳转到相应课程的章节信息以及视频资源等内容的页面。



    所以首先把哪个页面复制到templates文件夹下:



    配置url:
    在url中要接受一个位置参数(用户点击具体课程的id)

    courses/urls.py:

    #导入CourseLessonView
        #章节信息
        url(r'^(?P<course_id>\d+)/lesson/$',CourseLessonView.as_view(),name='lesson')
    

    courses/view.py:

    #课程章节页
    class CourseLessonView(View):
        '''
        章节信息的展示
        '''
        def get(self,request,course_id,*args,**kwargs):
            #获取用户点击的是哪个课程
            course = Course.objects.get(id = course_id)
            return render(request,'coursevideo.html',{
                'course':course
            })
    

    返回coursevideo页面。
    运行:

    127.0.0.1:8000/course/1/lesson
    

    成功显示。但是没有样式。
    配置coursedetail.html中的开始学习按钮的跳转链接



    运行:
    点击立即学习后:



    显示。
    到这里前后端之间的跳转连接成功。

    使用模板继承优化代码


    值得注意的是:在面包屑中设置跳转链接时,要给课程详情的连接中传递一个课程的id,这个课程的也就是coursevideo页面展示内容的课程id。



    运行:



    当点击开始学习:

    现在显示的是假数据。

    进行数据绑定

    1.首先要替换的内容为:



    前端代码展示:



    2.然后就要进行绑定章节信息和章节下的视频了。
    首先要在xadmin中添加章节信息和章节包含的视频连接。
    给课程--一小时学会Flask增加了三个章节:



    给每一章增加了三个视频内容。



    前端代码绑定数据:
    章节的展示是需要循环显示的
    找到这部分代码:

    查询章节信息,进行循环遍历,然后绑定:



    在章节中,还要查询视频信息,遍历显示,并绑定:

    这里也可以在后台view.py中实现,在后台查询好数据后,传到前台,前台代码更简洁。
    运行:

    显示完成。

    logout的实现

    在登录状态时,有一个退出登录的按钮。


    找到退出按钮的html代码,实在base.html中,用于继承。
    在之前的登陆判断中有该部分代码。
    base.html:

    修改一下href值:

    进入url匹配:
    这部分实在总项目中的urls.py的,添加:
    from apps.users.views import LoginView,LogoutView
        #退出登录
        path('logout/',LogoutView.as_view(),name = 'logout'),
    

    在view.py中编写视图类:
    在login时使用了django自带的login方法,它也有logout方法供我们使用。

    
    #退出登录
    class LogoutView(View):
        def get(self,request,*args,**kwargs):
            #退出登录
            logout(request)
            #重定向到index页面
            return HttpResponseRedirect(reverse('index'))
    

    运行:



    点击退出:



    完成。
    提交GitHub。

    补充:
    修改coursedetail.html中立即学习按钮放入代码:



    把a标签放在div的外边,这样,只要点击了长方形的框就能够跳转了。

    相关文章

      网友评论

          本文标题:2020-05-15--Django项目14--coursevi

          本文链接:https://www.haomeiwen.com/subject/jvohohtx.html