Django+xadmin打造在线教育平台(从0-1全过程手把手教程附加各种采坑笔记第6章)

在这里插入图片描述
先创建这几个文件夹,里面的文件可以自行在我的github下下载。

  1. 然后建立这两个文件在这里插入图片描述
    注意这里的CaptchaField要安装特定的包才会生效,解释器这里无法自动安装 :from captcha.fields import CaptchaField
    (pip install django-simple-captcha==0.4.6
    )
    在APPS里创建多一个urls有什么作用?因为如果只在project里创建一个urls的话,后续创建了很多个APP的话,那么在管理url地址的时候,就会很困难,所以为了更加方便管理各自的app,我们在每一个app中的文件夹中都创建urls文件,在project里的url就要配置namespace,那么这个namespace的作用就是在后续html配置模板语言嵌入的时候,可以通过project的namespace指向APP里的URL地址,如: project: url(’^org/’, include(‘organization.urls’,namespace=‘org’)),
    app: url(r’^list/$’, OrgView.as_view(), name=‘org_list’),那么在HTML要调用类方法或者地址的时候,就可以使用类似org:org_list的这种格式进行调用。

首先我们现在organization.views中先创建类去做一个载入和渲染模板的过程:`from django.db.models import Q
from django.http import HttpResponse
from django.shortcuts import render

from django.views.generic.base import View

from organization.forms import UserAskForm
from operation.models import UserFavorite
from courses.models import CourseOrg, Course
from pure_pagination import Paginator, PageNotAnInteger

from organization.models import CityDict, Teacher

class OrgView(View):
#课程机构的列表
def get(self, request):
#获取数据库所有课程机构数据
all_orgs = CourseOrg.objects.all()
#降序获取前三个数据
hot_orgs = all_orgs.order_by(’-click_nums’)[:3]
all_citys = CityDict.objects.all()

    # 取出筛选城市
    #获取请求后数据的city值,后面的‘’是为了避免获取的值是错误的从而导致系统报错,形成系统崩溃,特地要加上的空值,若获取的值为空值,则知道该值没获取到;
    city_id = request.GET.get('city', '')
    if city_id:
    #这里的filter是过滤器,过滤器的作用跟上面的get作用类似,只是过滤器获取的值是可以多个且类型是字典,如果获取的值是错误的,则自动显示空值,而get只能获取一个值,且类型为列表;
        all_orgs = all_orgs.filter(city_id=int(city_id))

    # 机构搜索
    search_keywords = request.GET.get('keywords', '')
    if search_keywords:
    #Q作用就是引用 | 这个字符的与意思,__icontains就是把数据库查询到的数据都变为小写;
        all_orgs = all_orgs.filter(Q(name__icontains=search_keywords) |
                                         Q(desc__icontains=search_keywords))

    # 类别筛选
    category = request.GET.get('ct', '')
    if category:
        all_orgs =
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值