我的收藏有3个页面:课程机构,授课教师,公开课程

课程机构

1、编辑usercenter-fav-org.html继承usercenter-base.html

2、编辑users.views.py

...
from operation.models import UserFavorite class MyFavOrgView(LoginRequiredMixin, View):
def get(self, request):
user_orgs = UserFavorite.objects.filter(user=request.user, fav_type=2)
org_ids = [user_org.fav_id for user_org in user_orgs]
orgs = CourseOrg.objects.filter(id__in=org_ids) return render(request, 'usercenter-fav-org.html', {
'orgs': orgs,
})

3、编辑users.urls.py

...
from .views import MyFavOrgView urlpatterns = [
...
url(r'myfav_org/$', MyFavOrgView.as_view(), name='myfav_org'),
]

4、编辑usercenter-base.html修改导航链接

5、编辑usercenter-fav-org.html数据动态展示

授课教师

1、编辑usercenter-fav-teacher.html继承usercenter-base.html

2、编辑users.views.py

...
from organization.models import Teacher class MyFavTeacherView(View):
def get(self, request):
fav_teachers = UserFavorite.objects.filter(user=request.user, fav_type=3)
teacher_ids = [fav_teacher.fav_id for fav_teacher in fav_teachers]
teachers = Teacher.objects.filter(id__in=teacher_ids) return render(request, 'usercenter-fav-teacher.html',{
'teachers': teachers,
})

3、编辑users.urls.py

...
from .views import MyFavTeacherView urlpatterns = [
...
url(r'myfav_teacher/$', MyFavTeacherView.as_view(), name='myfav_teacher'),
]

4、编辑usercenter-fav-teacher.html和usercenter-fav-org.html修改导航链接

5、编辑usercenter-fav-teacher.html动态数据展示

公开课程

1、编辑usercenter-fav-course.html,继承usercenter-base.html

2、users.views.py

class MyFavCourseView(LoginRequiredMixin, View):
def get(self, request):
fav_courses = UserFavorite.objects.filter(user=request.user, fav_type=1)
course_ids = [fav_course.fav_id for fav_course in fav_courses]
courses = Course.objects.filter(id__in=course_ids)
return render(request, 'usercenter-fav-course.html', {
'courses': courses,
})

3、编辑users.urls.py

...
from .views import MyFavCourseView urlpatterns = [
...
url(r'myfav_course/$', MyFavCourseView.as_view(), name='myfav_course'),
]

4、编辑usercenter-fav-course.html

删除收藏

这个功能可以直接调用我们之前写的皆苦

修改usercenter-fav-org.html

修改usercenter-fav-teacher.html

修改usercenter-fav-course.html

编辑usercenter-base.html

<script type="text/javascript">
$('.jsDeleteFav_course').on('click', function(){
var _this = $(this),
favid = _this.attr('data-favid');
alert(favid)
$.ajax({
cache: false,
type: "POST",
url: "{% url 'org:add_fav' %}",
data: {
fav_type: 1,
fav_id: favid,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
async: true,
success: function(data) {
Dml.fun.winReload();
}
});
}); $('.jsDeleteFav_teacher').on('click', function(){
var _this = $(this),
favid = _this.attr('data-favid');
$.ajax({
cache: false,
type: "POST",
url: "{% url 'org:add_fav' %}",
data: {
fav_type: 3,
fav_id: favid,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
async: true,
success: function(data) {
Dml.fun.winReload();
}
});
}); $('.jsDeleteFav_org').on('click', function(){
var _this = $(this),
favid = _this.attr('data-favid');
$.ajax({
cache: false,
type: "POST",
url: "{% url 'org:add_fav' %}",
data: {
fav_type: 2,
fav_id: favid,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
async: true,
success: function(data) {
Dml.fun.winReload();
}
});
});
</script>

32、Django实战第32天:我的收藏的更多相关文章

  1. GraphQL + React Apollo + React Hook 大型项目实战(32 个视频)

    GraphQL + React Apollo + React Hook 大型项目实战(32 个视频) GraphQL + React Apollo + React Hook 大型项目实战 #1 介绍「 ...

  2. CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决

    Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...

  3. 从零开始部署Django生产环境(适用:《跟老齐学Python Django实战》)

    <跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前 ...

  4. 32.Django form组件

    Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 创建Form类时,主要涉及到 [ ...

  5. 前端每日实战:32# 视频演示如何用纯 CSS 创作六边形按钮特效

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/xjoOeM 可交互视频教程 此视频 ...

  6. 【机器学习实战笔记(3-2)】朴素贝叶斯法及应用的python实现

    文章目录 1.朴素贝叶斯法的Python实现 1.1 准备数据:从文本中构建词向量 1.2 训练算法:从词向量计算概率 1.3 测试算法:根据现实情况修改分类器 1.4 准备数据:文档词袋模型 2.示 ...

  7. Django笔记&教程 3-2 模板语法介绍

    Django 自学笔记兼学习教程第3章第2节--模板语法介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/templates/# ...

  8. 32、Flask实战第32天:优化json数据的返回

    接着上节,我们通过jsonify返回json数据非常方便 ... return jsonify({"code": 400, "message": message ...

  9. Flutter移动电商实战 --(32)列表页_小类高亮交互效果制作

    点击大类右侧的横向的小类红色显示当前的小类别 解决之前溢出的问题: 先解决一个bug,之前右侧的这里设置的高度是1000,但是有不同的虚拟机和手机设别的问题造成了溢出的问题 Expaned是有伸缩能力 ...

随机推荐

  1. 洛谷 P2801 教主的魔法 解题报告

    P2801 教主的魔法 题目描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.--.N. ...

  2. cookie 是存储于访问者的计算机中的变量

    今天把javascript如何用来创建及存储cookie复习了一下,其中的一点体会拿出来和大家讨论,首先看一下基础知识: 什么是cookie cookie 是存储于访问者的计算机中的变量.每当同一台计 ...

  3. 解析json方式之net.sf.json

    前面转载了json解析的技术:fastjson,今天说下另外一种技术. 下载地址 本次使用版本:http://sourceforge.net/projects/json-lib/files/json- ...

  4. 常见通用的 JOIN 查询

    SQL执行循序: 手写: SELECT DISTINCT <query_list> FROM <left_table> <join type> JOIN <r ...

  5. L2-001. 紧急救援---(Dijkstra,记录路径)

    https://www.patest.cn/contests/gplt/L2-001 L2-001. 紧急救援 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 ...

  6. 汕头市队赛 yyl杯1 T2

    B SRM 05 - YYL 杯 R1 背景&&描述 有一个拥有n个城市的国家.这个国家由n-1条边连接起来.有一天国家发生叛乱.叛军已占领了一些城市.如果叛军占领的城市中,存在两个城 ...

  7. codevs1245最小的N个和 小根堆

    这道题 将b排序一下 将a(i~n)和b1加起来入堆 每次出一次队(ax+bi) 将(ax+bi+1)入队就好了 能保证答案的正确性 找个自己证明吧 #include<cstdio> #i ...

  8. node导入导出的问题

    node的每一个文件,都是一个域,那么里面所有的变量都不允许被外界引用,除非导出去.要使用外界的变量,也必须使用导入的方式导入进来. import 变量名 from '文件地址'//css可以直接导入 ...

  9. Red-Black Tree

    A red-black tree is a Binary Search Tree that satisfy the red-black tree properties: 1. Every node i ...

  10. JAVA开发环境及其开发

    成功安装之后,进行测试是否真的成功安装,点击[开始]----[运行]----输入 CMD,在命令提示符里面输入"Java -version"并按回车键,出现下图,即为安装成功. 选 ...