Django网站建设-我的课程,我的收藏,内容显示判断

1.模板配置
2.url配置
3.视图逻辑,filter过滤,分页处理

我的课程

配置url
url(r'^my_courses/$', MyCourseView.as_view(), name='my_courses'),
配置视图逻辑
class MyCourseView(View):
    def get(self,request):
        user_id = request.user.id
        my_courses = UserCourse.objects.filter(User_id=user_id)
        return render(request,'usercenter_mycourse.html',{'my_courses':my_courses})
模板配置
{% block content_right %}
    <div class="right" >
        <div class="personal_des Releasecont">
            <div class="head">
                <h1>我的课程</h1>
            </div>
        </div>
        <div class="personal_des permessage">
            <div class="companycenter">
                <div class="group_list brief">
                    {% for course in my_courses %}
                    <div class="module1_5 box">
                            <a href="course-detail.html">
                                <img width="214" height="190" class="scrollLoading" src="{{ MEDIA_URL }}{{ course.Course.CoursePicture }}"/>
                            </a>
                            <div class="des">
                                <a href="course-detail.html"><h2>{{ course.Course.CourseName }}</h2></a>
                                <span class="fl">课时:<i class="key">{{ course.Course.LearnTime }}</i></span>
                                <span class="fr">学习人数:{{ course.Course.Students }}</span>
                            </div>
                            <div class="bottom">
                                <span class="fl">{{ course.Course.Organization }}</span>
                                <span class="star fr  notlogin" data-favid="15">{{ course.Course.FavouriteNumber }}</span>
                            </div>
                        </div>
                    {% endfor %}
                </div>
            </div>
        </div>
    </div>
{% endblock %}

我的收藏

配置url
url(r'^my_fav/$', MyFavView.as_view(), name='my_fav'),
配置视图逻辑,利用用户信息(user)进行过滤获取用户收藏信息(UserFavorite),通过FavoriteType进行判断收藏信息类型。从模板中get到chioce选项,利用choice进行判断,判断返回数据类型
class MyFavView(View):
    def get(self,request):
        choice = request.GET.get('choice')
        if not request.user.is_authenticated():
            return HttpResponseRedirect('/login/')  # 转到来时页面
        user_id = request.user.id
        my_fav = UserFavorite.objects.filter(User_id=user_id)
        fav_course_id = my_fav.filter(FavoriteType=1)
        fav_organization_id = my_fav.filter(FavoriteType=2)
        fav_teacher_id = my_fav.filter(FavoriteType=3)
        #get选择项

        #加入筛选逻辑
        fav = []
        #获取所有收藏课程
        if choice == 'course':
            for i in fav_course_id:
                course = Course.objects.get(id=i.FavoriteID)
                fav.append(course)
        #获取所有收藏组织
        if choice == 'organization':
            for i in fav_organization_id:
                fav.append(CourseOrganization.objects.get(id=i.FavoriteID))
        #获取所有收藏老师
        if choice == 'teacher':
            for i in fav_teacher_id:
                fav.append(Teacher.objects.get(id=i.FavoriteID))
        return render(request,'usercenter_fav.html',{'fav':fav,'choice':choice})
返回fav参数和choice参数,根据choice参数判断返回参数类型,判断显示内容,通过fav参数获取显示内容信息
{% block content_right %}
        <div class="right" >
            <div class="personal_des Releasecont">
                <div class="head">
                    <h1>我的收藏</h1>
                </div>

            </div>
            <div class="personal_des permessage">
                <div class="head">
                    <ul class="tab_header messagehead">
                        <li {% if request.path|slice:'40' == '/user_center/my_fav/?choice=organization' %}class="active"{% endif %}><a href="{% url 'user_info:my_fav' %}?choice=organization">课程机构</a> </li>
                        <li {% if request.path|slice:'35' == '/user_center/my_fav/?choice=teacher' %}class="active"{% endif %}><a href="{% url 'user_info:my_fav' %}?choice=teacher">授课教师 </a></li>
                        <li {% if request.path|slice:'34' == '/user_center/my_fav/?choice=course' %}class="active"{% endif %}><a href="{% url 'user_info:my_fav' %}?choice=course">公开课程</a></li>
                    </ul>
                </div>
                {# 机构 #}
                {% if choice == 'organization' %}
                    {% for f in  fav %}
                        <div class="messagelist">

                    <div class="messages butler_list company company-fav-box">
                        <dl class="des fr">
                            <dt>
                                <a href="org-detail-homepage.html">
                                    <img width="160" height="90" src="{{ MEDIA_URL }}{{ f.OrganizationImage }}"/>
                                </a>
                            </dt>
                            <dd>
                                <h1><a href="org-detail-homepage.html">{{ f.Organization }}</a></h1>
                                <div class="pic fl" style="width:auto;">

                                    <img src="{% static 'images/authentication.png' %}"/>


                                    <img src="{% static 'images/gold.png' %}"/>

                                </div>
                                <span class="c8 clear">{{ f.City }}</span>
                                <div class="delete jsDeleteFav_org" data-favid="1"></div>
                            </dd>
                        </dl>
                    </div>

                </div>
                    {% endfor %}
                {% endif %}

                {# 老师 #}
                {% if choice == 'teacher' %}
                    {% for f in  fav %}
                <div class="messagelist">

                    <div class=" butler_list butler-fav-box">
                        <dl class="des users">
                            <dt>
                                <a href="/org/teacher/detail/1/">
                                    <img width="100" height="100" src="{{ MEDIA_URL }}{{ f.TeacherImage }}"/>
                                </a>
                            </dt>
                            <dd>
                                <h1>
                                    <a href="/org/teacher/detail/1/">
                                        {{ f.TeacherName }}<span class="key">认证教师</span>
                                    </a>
                                </h1>
                                <ul class="cont clearfix">
                                    <li class="time">工作年限:<span>{{ f.WorkLife }}年</span></li>
                                    <li class="c7">课程数:<span>2</span></li>
                                </ul>
                                <ul class="cont clearfix">
                                    <li class="time">工作公司:<span>{{ f.BelongOrganization }}</span></li>
                                    <li class="c7">公司职位:<span>{{ f.WorkPosition }}</span></li>
                                </ul>
                            </dd>
                            <div class="delete jsDeleteFav_teacher" data-favid="1"></div>
                        </dl>
                    </div>

                </div>
                    {% endfor %}
                {% endif %}

                {# 公开课程 #}
                {% if choice == 'course' %}
                    {% for f in  fav %}
                <div class="companycenter">
                    <div class="group_list brief">
                        <div class="module1_5 box">
                            <a href="course-detail.html">
                                <img width="214" height="190" src="{{ MEDIA_URL }}{{ f.CoursePicture }}"/>
                            </a>
                            <div class="des">
                                <a href="course-detail.html"><h2>{{ f.CourseName }}</h2></a>
                                <span class="fl">时长:<i class="key">{{ f.LearnTime }}</i></span>
                                <span class="fr">学习人数:{{ f.Students }}</span>
                            </div>
                            <div class="bottom">
                                <span class="fl">{{ f.Organization }}</span>
                                <span class="delete-group fr jsDeleteFav_course" data-favid="12"></span>
                            </div>
                        </div>
                    </div>
                </div>
                    {% endfor %}
                {% endif %}
            </div>
        </div>
{% endblock %}

我的信息

1.配置我的信息路由地址url
2.配置视图逻辑,配置分页功能
3.配置模板函数,注意分页处理后的object_list对象
4.注册的时候写入用户信消息,学习课程的时候写入用户消息
5.完成我的信息逻辑,包括学习信息通知

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值