示例#1
0
def folders(category, page):

    info = folder_dict.get(category)

    if not info:
        ##路径不存在,拒绝访问
        return redirect('/')

    else:

        folders = info.get('folders')

        length = len(folders)

        begin, end, pages = Page.get_index(total=length, per=30, page=page)

        inner_folders = folders[begin:end]

        page_list = Page.get_list(page=page, pages=pages, echo=5)

        last_page = max(1, page - 1)
        next_page = min(pages, page + 1)

        category_echo = category_dict.get(category)


        return render_template('mm/folder.html',category=category,page_list=page_list,category_echo=category_echo,\
                                                    folders=inner_folders,current_page=page,last_page=last_page,next_page=next_page,pages=pages)
示例#2
0
def index(request):
    # 获取当前页码
    try:
        page = int(request.GET.get('page', 1))
    except Exception as e:
        page = 1

    # 获取数据的总数
    book_count = Books.objects.count()
    # 书的总数 除以 每页显示的数
    page_count, m = divmod(book_count,
                           10)  # divmod 返回两个元素的元组, 第一个参数是商 第二个参数是余数
    if m:
        # 当余数不为空时 总页数加1
        page_count += 1

    # 实例化Page产生分页对象
    page = Page(page, page_count, '/app01/index/')
    print(page.start_pos, page.end_pos)
    # 根据开始和结束位置  获取数据
    books = Books.objects.values('id', 'books_name', 'stock',
                                 'sales_num')[page.start_pos:page.end_pos]
    # 获取分页的html代码
    page_html = page.get_page_show()
    return render(request, 'books.html', {
        "books": books,
        'page_html': page_html
    })
示例#3
0
def tag_tail(tag, page):

    paths = Tag.get_path_by_tag(tag)
    length = len(paths)

    begin, end, pages = Page.get_index(total=length, per=30, page=page)

    infos = paths[begin:end]
    lines = []
    for info in infos:

        l = info.split('/')
        book = l[-1].split('.')[0]
        category = l[-2]
        finish = l[-3]

        lines.append((finish, category, book))

    page_list = Page.get_list(page=page, echo=5, pages=pages)

    last_page = max(1, page - 1)
    next_page = min(pages, page + 1)

    return render_template('/tags/tag.html',
                           lines=lines,
                           page_list=page_list,
                           last_page=last_page,
                           next_page=next_page,
                           tag=tag,
                           current_page=page,
                           pages=pages)
示例#4
0
文件: customer.py 项目: linshutu/crm
    def get(self, request):
        recv_data = copy.copy(request.GET)
        current_page_number = request.GET.get('page')
        search_field = request.GET.get('search_field')
        if search_field == None:
            search_field = 'customer__name__contains'
        keyword = request.GET.get("keyword")
        all_enrollment = None
        if keyword:
            q = Q()
            q.children.append([search_field, keyword])
            all_enrollment = models.Enrollment.objects.filter(q)
        else:
            all_enrollment = models.Enrollment.objects.all()
        all_enrollment = all_enrollment.filter(delete_status=False)

        total_count = all_enrollment.count()
        per_page_count = settings.PER_PAGE_COUNT
        page_number_show = settings.PAGE_NUMBER_SHOW

        page_obj = Page(current_page_number, total_count, page_number_show,
                        per_page_count, recv_data)
        all_enrollment = all_enrollment[page_obj.start_data_number:page_obj.
                                        end_data_number]
        page_html = page_obj.page_html_func()
        return render(
            request, 'enrollment_record/show_enrollment_record.html', {
                "all_enrollment": all_enrollment,
                "page_html": page_html,
                "keyword": keyword,
                'search_field': search_field
            })
示例#5
0
def result(page):
    # data=session.get('search')
    data = temp
    result = data[0]
    search_keyword = data[1]
    total = len(result)
    begin, end, pages = Page.get_index(page=page, total=total, per=20)
    page_result = result[begin:end]

    page_list = Page.get_list(pages=pages, page=page, echo=5)

    jinja_list = []
    for d in page_result:

        filepath = d.get('filepath')
        keyword = d.get('keyword')
        keyword_str = u','.join(keyword)
        l = filepath.split('/')
        book = l[-1].split('.')[0]
        category = l[-2]
        finish = l[-3]
        jinja_list.append([finish, category, book, keyword_str])

    next_page = min(pages, page + 1)
    last_page = max(1, page - 1)

    return render_template('search/result.html',current_page=page,total=total,keyword=search_keyword,page_list=page_list,pages=pages,last_page=last_page,\
                                                next_page=next_page,jinja_list=jinja_list,)
示例#6
0
    def test_login(self, name, password, expect, tag, desc):

        # print("\n当前用例:{}".format(desc))
        logging.info("操作元素:{}".format(desc))

        Page.get_mobile().mobile(name, password)

        if not tag:
            assert expect == Page.get_user().get_username()
            Page.get_user().setting_btn()
            Page.get_title().logout()
        else:
            assert Page.get_mobile().mh.toast_message(expect)
            Page.get_mobile().close_login()
示例#7
0
 def get(self, request, *args, **kwargs):
     current_page = request.GET.get('page')  # 当前页
     try:
         current_page = int(current_page)
     except Exception as e:
         current_page = int(1)
     all_count = models.UserHost.objects.all().count()  # 数据总条数
     page_obj = Page(current_page, all_count,
                     request.path_info)  # requ request.path_info当前URL
     game_list = models.UserHost.objects.all()[page_obj.start:page_obj.end]
     page_str = page_obj.page_html()
     return render(request, 'games.html', {
         'game_list': game_list,
         'page_str': page_str
     })
示例#8
0
文件: customer.py 项目: linshutu/crm
    def get(self, request):
        recv_data = copy.copy(request.GET)

        current_page_number = request.GET.get("page")  #当前页码
        search_field = request.GET.get('search_field')  #所搜条件
        if search_field == None:
            search_field = 'qq__contains'
        keyword = request.GET.get("keyword")
        all_customers = None
        message = None
        if keyword:
            q = Q()
            q.children.append([search_field, keyword])
            all_customers = models.Customer.objects.filter(q)
        else:
            if request.path == reverse('mysite:show_customers'):
                all_customers = models.Customer.objects.filter(
                    consultant__isnull=True)
                message = "公有"
                change_message = "公有客户转私有客户"
            else:
                all_customers = models.Customer.objects.filter(
                    consultant__username=request.session.get("username"))
                message = "私有"
                change_message = "私有客户转公有客户"

        total_count = all_customers.count()
        per_page_count = settings.PER_PAGE_COUNT
        page_number_show = settings.PAGE_NUMBER_SHOW

        page_obj = Page(current_page_number, total_count, page_number_show,
                        per_page_count, recv_data)
        all_customers = all_customers[page_obj.start_data_number:page_obj.
                                      end_data_number]
        page_html = page_obj.page_html_func()
        return render(
            request, 'customers/show_customers.html', {
                'all_customers': all_customers,
                "page_html": page_html,
                "keyword": keyword,
                'message': message,
                'search_field': search_field
            })
示例#9
0
文件: customer.py 项目: linshutu/crm
    def get(self, request):
        recv_data = copy.copy(request.GET)
        current_page_number = request.GET.get("page")  # 当前页码
        search_field = request.GET.get('search_field')  # 所搜条件
        if search_field == None:
            search_field = 'customer__name__contains'
        keyword = request.GET.get("keyword")
        all_records = None

        print(request.GET.dict())
        #获取单个客户的id
        customer_id = request.GET.get("customer_id")
        if keyword:
            q = Q()
            q.children.append([search_field, keyword])
            all_records = models.ConsultRecord.objects.filter(q)
        else:
            all_records = models.ConsultRecord.objects.all()
        all_records = all_records.filter(
            consultant__username=request.session.get('username'),
            delete_status=False)

        if customer_id:
            all_records = all_records.filter(customer_id=customer_id)

        total_count = all_records.count()
        per_page_count = settings.PER_PAGE_COUNT
        page_number_show = settings.PAGE_NUMBER_SHOW

        page_obj = Page(current_page_number, total_count, page_number_show,
                        per_page_count, recv_data)
        all_records = all_records[page_obj.start_data_number:page_obj.
                                  end_data_number]
        page_html = page_obj.page_html_func()
        return render(
            request, 'consult_record/consult_record.html', {
                'all_records': all_records,
                "page_html": page_html,
                "keyword": keyword,
                'search_field': search_field
            })
示例#10
0
def book(path, category, page):

    filenames = BOOK.book_dict.get(path).get(category)

    length = len(filenames)

    begin, end, pages = Page.get_index(page=page, total=length, per=30)

    current_filenames = filenames[begin:end]

    page_list = Page.get_list(pages=pages, page=page, echo=5)

    next_page = min(pages, page + 1)
    last_page = max(1, page - 1)

    books = [filename.rsplit('.', 1)[0] for filename in current_filenames]



    return render_template('/books/book.html',category=category,last_page=last_page,books=books,pages=pages,\
                                            current_page=page,next_page=next_page,path=path,page_list=page_list)
示例#11
0
 def get(self, request):
     article_list = models.Article.objects.all()
     totol_num = article_list.count()
     page_num = request.GET.get("page", 1)
     # 分页实例化传参
     page_obj = Page(total_num=totol_num,
                     page_num=page_num,
                     url_prefix='home',
                     every_page_num=2)
     # 根据分页拿到的start和end切片得到所要的数据
     data = article_list[page_obj.start:page_obj.end]
     # 调用html方法得到分页的html代码片段
     page_html = page_obj.html
     return render(request, 'home.html', {
         'article_list': data,
         'page_html': page_html
     })
示例#12
0
文件: site.py 项目: wangjifei121/CRM
    def listview(self, request):

        # 批量操作
        if request.method == "POST":
            print(666)
            pk_list = request.POST.getlist('checkbox_pk')
            queryset = self.model.objects.filter(pk__in=pk_list)
            action_name = request.POST.get("action")
            try:
                action = getattr(self, action_name)
                action(queryset)
            except:
                code = 1

        # 添加数据的url,给前端添加button的
        add_url = self.get_add_url()
        # 数据库查询出当数据前表的所有数据
        data_list = self.model.objects.all()

        # 调用get_search_condition方法获取search查询条件
        search_conditions = self.get_search_condition(request)
        # 调用get_filter_condition方法获取filter的查询条件
        filter_conditions = self.get_filter_condition(request)
        # 过滤,找出符合要求的数据
        new_data_list = data_list.filter(search_conditions).filter(filter_conditions)

        # 调用视图展示类实例化来生成类对象
        listview_obj = ListView(self, request, new_data_list)

        # 调用试图类对象生成数据体的方法生成数据
        obj_list = listview_obj.create_body()

        # 分页组件实例化传参
        page_obj = Page(total_num=len(obj_list), page_num=request.GET.get("page", 1), request=request,
                        every_page_num=10)
        # 根据分页拿到的start和end切片得到所要的数据
        obj_list = obj_list[page_obj.start:page_obj.end]
        # 调用html方法得到分页的html代码片段
        page_html = page_obj.html

        return render(request, 'stark/list_view.html', locals())
示例#13
0
def folder(folder, page):

    src_list = Voice.get_src(folder=folder)
    title = folder_dict.get(folder, folder)

    length = len(src_list)

    page_list = Page.get_list(pages=length, page=page, echo=5)

    page = max(1, page)
    page = min(length, page)

    last_page = max(1, page - 1)
    next_page = min(length, page + 1)

    src = src_list[page - 1]



    return render_template('music/folder.html',page=page,src_list=src_list,folder=folder,title=title,src=src,\
                                                page_list=page_list,last_page=last_page,next_page=next_page,current_page=page,pages=length)
示例#14
0
def blogcenter(request, username, *args):
    # 通过用户信息找到当前用户的对象
    user_obj = models.UserInfo.objects.filter(username=username).first()
    # ORM操作查询当前用户对应的所有书籍
    article_list = models.Article.objects.filter(
        user=user_obj).order_by("create_time").reverse()

    if args:
        if args[0] == "category":
            # 表示按照文章分类查询
            article_list = article_list.filter(category__title=args[1])
        elif args[0] == "tag":
            # 表示按照文章的标签查询
            article_list = article_list.filter(tags__title=args[1])
        else:
            # 表示按照文章的日期归档查询
            try:
                year, month = args[1].split("-")
                article_list = article_list.filter(
                    create_time__year=year).filter(create_time__month=month)
            except Exception as e:
                article_list = []

    # 分页
    page_num = request.GET.get("page", 1)
    totol_num = article_list.count()
    page_obj = Page(total_num=totol_num,
                    page_num=page_num,
                    url_prefix=f'blogcenter/{username}',
                    every_page_num=5)
    print(page_obj.start)
    print(page_obj.end)
    article_list = article_list[page_obj.start:page_obj.end]
    page_html = page_obj.html

    return render(request, 'blogcenter.html', {
        'username': username,
        'article_list': article_list,
        'page_html': page_html
    })
示例#15
0
def item(category, folder, page):

    ##利用img base64 读取不在static下的文件

    folder_dict_value = folder_dict.get(category)
    if folder_dict_value:

        root = folder_dict_value.get('root')
        folders = folder_dict_value.get('folders')

        item_key = u'%s-%s' % (category, folder)
        filenames = item_dict.get(item_key)

        if filenames:

            category_dict = Path.get_category()

            category_echo = category_dict.get(category)

            item_length = len(filenames)
            folder_length = len(folders)

            folder_index = folders.index(folder)

            last_folder_index = max(1, folder_index - 1)
            next_folder_index = min(folder_length - 1, folder_index + 1)

            last_folder = folders[last_folder_index]
            next_folder = folders[next_folder_index]
            ##上一篇以及下一篇

            page = min(page, item_length)
            page = max(page, 1)
            ##page最小取值为1,最大取值为item_length
            filename = filenames[page - 1]
            extend = filename.rsplit('.', 1)[-1]
            img_path = u'%s/%s/%s' % (root, folder, filename)

            src = img_path.split(':', 1)[-1]
            # print img_path

            last_page = max(1, page - 1)
            next_page = min(item_length, page + 1)
            #上一页以及下一页

            headers = request.headers
            agent = headers['User-Agent']
            width = '70%'
            echo = 5
            if 'linux' in agent.lower():
                width = '100%'
                echo = 1

            item_page_list = Page.get_list(page=page,
                                           pages=item_length,
                                           echo=echo)



            return render_template('/mm/item.html',category=category,category_echo=category_echo,folder=folder,last_folder=last_folder,\
                                                        next_folder=next_folder,last_page=last_page,next_page=next_page,src=src,\
                                                        folder_length=folder_length,item_length=item_length,width=width,page=page,\
                                                        item_page_list=item_page_list,current_page=page)

    ##category不存在以及item_key不存在的情况下,均重定向到首页
    return redirect('/')
示例#16
0
def login_page(selenium):
    selenium.get('http://39.104.14.232/ecshop/wwwroot/admin/privilege.php?act=login')
    yield Page(selenium, 'login_page.yaml')
示例#17
0
# from page.bnal01_homepage import HomeTask
# from page.bnal02_registerpage import RegisterTask
# from page.bnal03_mobilepage import MobileTask
# from page.bnal04_userpage import UserTask
# from page.bnal05_titlepage import TitleTask
from utils.page import Page
import time

time.sleep(1)
# 点击关闭弹窗
# HomeTask.close_alert()
Page.get_home().close_alert()
time.sleep(1)
# 点击我
# HomeTask.goto_sign()
Page.get_home().goto_sign()
time.sleep(2)
# 点击已有账号去登录
# RegisterTask.close_register()
Page.get_register().close_register()
time.sleep(2)
# 输入账号,密码,点击登录
# MobileTask.mobile("18721145092", "zhu930310")
Page.get_mobile().mobile("18721145092", "zhu930310")
time.sleep(2)
# 获取用户名
# print(UserTask.get_username())
print(Page.get_user().get_username())
# 点击设置
# UserTask.setting_btn()
Page.get_user().setting_btn()
示例#18
0
 def setup(self):
     Page.get_home().goto_sign()
     Page.get_register().close_register()
示例#19
0
 def setup_class(self):
     Page.get_home().close_alert()
def article_page(page_num, keywords):
    articles = Article.query.filter(
        Article.title.like("%" + keywords + "%")).order_by(Article.id).all()
    articles = model_json.list_to_json(articles)
    articles = Page.auto_page(articles, page_num)
    return articles
示例#21
0
def backend(request):
    article_list = models.Article.objects.filter(blog=request.user.blog)
    all_count = article_list.count()
    Page_info = Page(request.GET.get('page'), all_count, 4, 3, '/backend')
    page_queryset = article_list[Page_info.start():Page_info.end()]
    return render(request,"backend/backend.html",locals())
示例#22
0
def item(category, folder, page):

    ##利用img base64 读取不在static下的文件

    folder_dict_value = folder_dict.get(category)
    if folder_dict_value:

        root = folder_dict_value.get('root')
        folders = folder_dict_value.get('folders')

        item_key = u'%s-%s' % (category, folder)
        filenames = item_dict.get(item_key)

        if filenames:

            category_dict = Path.get_category()

            category_echo = category_dict.get(category)

            item_length = len(filenames)
            folder_length = len(folders)

            folder_index = folders.index(folder)

            last_folder_index = max(1, folder_index - 1)
            next_folder_index = min(folder_length - 1, folder_index + 1)

            last_folder = folders[last_folder_index]
            next_folder = folders[next_folder_index]
            ##上一篇以及下一篇

            page = min(page, item_length)
            page = max(page, 1)
            ##page最小取值为1,最大取值为item_length
            filename = filenames[page - 1]
            extend = filename.rsplit('.', 1)[-1]
            img_path = u'%s/%s/%s' % (root, folder, filename)

            src = img_b64_dict.get(img_path)

            if src:

                pass

            else:

                img_base64 = Encrypt.img_b64encode(path=img_path)
                src = u'data:image/%s;base64,%s' % (extend, img_base64)

                if len(img_b64_dict) > 500:
                    img_b64_dict.popitem(last=False)
                    ##先进先出

                img_b64_dict[img_path] = src
                ##将base64编码字符串放入dict中,便于下次访问(不能过大,否则占用过多内存)

            last_page = max(1, page - 1)
            next_page = min(item_length, page + 1)
            #上一页以及下一页

            headers = request.headers
            agent = headers['User-Agent']
            width = '70%'
            echo = 5
            if 'linux' in agent.lower():
                width = '100%'
                echo = 1

            item_page_list = Page.get_list(page=page,
                                           pages=item_length,
                                           echo=echo)



            return render_template('/image/item.html',category=category,category_echo=category_echo,folder=folder,last_folder=last_folder,\
                                                        next_folder=next_folder,last_page=last_page,next_page=next_page,src=src,\
                                                        folder_length=folder_length,item_length=item_length,width=width,page=page,\
                                                        item_page_list=item_page_list,current_page=page)

    ##category不存在以及item_key不存在的情况下,均重定向到首页
    return redirect('/')