Esempio n. 1
0
def teaching(request):
    """课程安排"""
    data = request.session['teacher']
    uid = data.get('no')
    subject = Model('subject')
    teaching = Model('teaching')
    list2 = subject.findAll()
    list3 = teaching.find("'" + uid + "'")
    umod = []

    for teaching in list3:
        dir = {}
        for subject in list2:
            if teaching.get('subject') == subject.get('no'):
                dir.update({
                    'no': subject.get('no'),
                    'name': subject.get('name'),
                    'score': subject.get('score')
                })
                break
        dir.update({'class': teaching.get('class')})
        umod.append(dir)

    # 执行分页处理
    pIndex = int(request.GET.get("p", 1))
    page = Paginator(umod, 4)  # 以50条每页创建分页对象
    maxpages = page.num_pages  # 最大页数
    # 判断页数是否越界
    if pIndex > maxpages:
        pIndex = maxpages
    if pIndex < 1:
        pIndex = 1
    list2 = page.page(pIndex)  # 当前页数据
    # 获取页面列表信息
    if maxpages < 5:
        plist = page.page_range  # 页码数列表
    else:
        if pIndex <= 3:
            plist = range(1, 6)
        elif pIndex >= maxpages - 3:
            plist = range(maxpages - 4, maxpages + 1)
        else:
            plist = range(pIndex - 2, pIndex + 3)

    context = {
        "list": list2,
        'plist': plist,
        'pIndex': pIndex,
        'maxpages': maxpages
    }
    return render(request, "web/teacher/class.html", context)
Esempio n. 2
0
def index(request):
    """浏览信息"""
    teacher = Model('teacher')
    subject = Model('subject')
    teaching = Model('teaching')
    list1 = teacher.findAll()
    list2 = subject.findAll()
    list3 = teaching.findAll()
    umod = []
    mywhere = []

    for teaching in list3:
        dir = {}
        for subject in list2:
            for teacher in list1:
                if teaching.get('no') == teacher.get('no'):
                    dir.update({
                        'tno': teaching.get('no'),
                        'tname': teacher.get('name')
                    })
                    break
            if teaching.get('subject') == subject.get('no'):
                dir.update({
                    'sno': subject.get('no'),
                    'sname': subject.get('name')
                })
                break
        dir.update({'class': teaching.get('class')})
        umod.append(dir)

    # 获取、判断并封装关keyword键搜索
    kw = request.GET.get("keyword", None)
    if kw:
        # 查询账户中只要含有关键字的都可以
        list = []
        for vo in umod:
            if vo['tno'].find(kw) >= 0 or vo['tname'].find(kw) >= 0:
                list.append(vo)
        mywhere.append("keyword=" + kw)
    else:
        list = umod

    # 获取、判断并封装学院faculty搜索条件
    subject = request.GET.get('subject', '')
    if subject != '':
        temp = []
        for vo in list:
            if vo['sno'].find(subject) >= 0 or vo['sname'].find(subject) >= 0:
                temp.append(vo)
        mywhere.append("subject=" + subject)
        list = temp

    # 获取、判断并封装教室class搜索条件
    classroom = request.GET.get('class', '')
    if classroom != '':
        temp = []
        for vo in list:
            if vo['class'].find(classroom) >= 0:
                temp.append(vo)
        mywhere.append("class=" + kw)
        list = temp

    # 执行分页处理
    pIndex = int(request.GET.get("p", 1))
    page = Paginator(list, 4)  # 以50条每页创建分页对象
    maxpages = page.num_pages  # 最大页数
    # 判断页数是否越界
    if pIndex > maxpages:
        pIndex = maxpages
    if pIndex < 1:
        pIndex = 1
    list2 = page.page(pIndex)  # 当前页数据
    # 获取页面列表信息
    if maxpages < 5:
        plist = page.page_range  # 页码数列表
    else:
        if pIndex <= 3:
            plist = range(1, 6)
        elif pIndex >= maxpages - 3:
            plist = range(maxpages - 4, maxpages + 1)
        else:
            plist = range(pIndex - 2, pIndex + 3)

    context = {
        "list": list2,
        'plist': plist,
        'pIndex': pIndex,
        'maxpages': maxpages,
        'mywhere': mywhere
    }
    return render(request, "myadmin/teaching/index.html", context)