10-9我的收藏功能1 点击我的收藏按钮,所收藏的课程机构可以列出来,但是图片和名称都显示不出来

来源:10-9 我的收藏功能1

404_

2018-07-16

就是这样的,图片和名称头显示不出来

http://img.mukewang.com/szimg/5b4b76ef0001a31123780808.jpg


日志报错

http://img.mukewang.com/szimg/5b4b77210001a9b512760306.jpg


我使用F12调试后发现URL中 /org/home后面多了一个/ 变成了org/home/

http://img.mukewang.com/szimg/5b4b7674000140a423881334.jpg

写回答

1回答

404_

提问者

2018-07-16

问题已经解决

是我自己在users下views.py中的类MyFavOrgView里面应该是 org = CourseOrg.objects.get(id=org_id)

结果我写成了org = CourseOrg.objects.filter(id=org_id)

objects.get()和objects.filter()方法不一样,get返回一个对象,如果没有就报错;filter返回一个对象列表。

如果使用get方法,代码如下

class MyFavOrgView(LoginRequiredMixin, View):
   #我收藏的课程机构
   def get(self, request):
       org_list = []
       fav_orgs = UserFavorite.objects.filter(user=request.user,fav_type=2)
       #print fav_orgs
       for fav_org in fav_orgs:
           org_id = fav_org.fav_id
           print org_id
           org = CourseOrg.objects.get(id=org_id)
           print org
           org_list.append(org)
       return render(request, 'usercenter-fav-org.html', {
           "org_list": org_list,
       })

则结果如图

//img.mukewang.com/szimg/5b4c9b1600011a7310480348.jpg

如果使用filter方法,代码如下

class MyFavOrgView(LoginRequiredMixin, View):
   #我收藏的课程机构
   def get(self, request):
       org_list = []
       fav_orgs = UserFavorite.objects.filter(user=request.user,fav_type=2)
       for fav_org in fav_orgs:
           org_id = fav_org.fav_id
           print org_id
           org = CourseOrg.objects.filter(id=org_id)
           print org
           org_list.append(org)
       return render(request, 'usercenter-fav-org.html', {
           "org_list": org_list,
       })

则结果如图

//img.mukewang.com/szimg/5b4c9ba70001a10710140304.jpg

如果非要使用filter方法,也可以,改为如下即可

org = CourseOrg.objects.filter(id=org_id)[0]

0
1
bobby
好的,
2018-07-17
共1条回复

Python3.6+django+xadmin,打造在线教育平台

【毕设】Python 2.7到3.6 完美适配,Django升级2.0

3677 学习 · 4038 问题

查看课程