我是靠谱客的博主 大胆小天鹅,最近开发中收集的这篇文章主要介绍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.完成我的信息逻辑,包括学习信息通知

最后

以上就是大胆小天鹅为你收集整理的Django网站建设-我的课程,我的收藏,内容显示判断我的课程我的收藏我的信息的全部内容,希望文章能够帮你解决Django网站建设-我的课程,我的收藏,内容显示判断我的课程我的收藏我的信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部