每次用到都去百度找....找的还不行~~得自己改~~耗时耗力虽然不难~~~直接贴代码记录下方便自己用~~~~
Django之分页
定义成一个块,直接引用到对应的位置即可。。。
<div class="container"> <nav aria-label="Page navigation"> <ul class="pagination"> <!--上一页--> <li class="{% if not page_info.page.has_previous %}disabled{% endif %}"> {% if page_info.page.has_previous %} <a href="{{ url }}?page={{ page_info.page.previous_page_number }}" aria-label="Previous"> {% endif %} <span aria-hidden="true">«</span> </a> </li> <!--页码--> <!--这里展示页码使用传递过来的dis_range --> {% for num in page_info.dis_range %} <li class="{% if num == page_info.page.number %}active{% else %}{% endif %}" > <a href="{{ url }}?page={{ num }}">{{ num }}</a> </li> {% endfor %} <!--下一页--> <li class="{% if not page_info.page.has_next %}disabled{% endif %}"> {% if page_info.page.has_next %} <a href="{{ url }}?page={{ page_info.page.next_page_number }}" aria-label="Next"> {% endif %} <span aria-hidden="true">»</span> </a> </li> </ul> </nav> </div>
直接将下面代码复制,然后调用方法,传入的参数必须为可迭代对象。
- data["page"]为内容
- data为页码
def create_page(request, object_list, per_page=20): ''' :param request: :param obj_list: :param page_shows: 每页显示多少数据 :return: ''' paginator = Paginator(object_list, per_page) # 取出当前需要展示的页码, 默认为1 page_num = request.GET.get('page', default='1') # 根据页码从分页器中取出对应页的数据 try: page = paginator.page(page_num) except PageNotAnInteger as e: # 不是整数返回第一页数据 page = paginator.page('1') page_num = 1 except EmptyPage as e: # 当参数页码大于或小于页码范围时,会触发该异常 print('EmptyPage:{}'.format(e)) if int(page_num) > paginator.num_pages: # 大于 获取最后一页数据返回 page = paginator.page(paginator.num_pages) else: # 小于 获取第一页 page = paginator.page(1) # 这部分是为了再有大量数据时,仍然保证所显示的页码数量不超过10, page_num = int(page_num) if page_num < 6: if paginator.num_pages <= 10: dis_range = range(1, paginator.num_pages + 1) else: dis_range = range(1, 11) elif (page_num >= 6) and (page_num <= paginator.num_pages - 5): dis_range = range(page_num - 5, page_num + 5) else: dis_range = range(paginator.num_pages - 9, paginator.num_pages + 1) data = { "page": page, "paginator": paginator, "dis_range": dis_range, } return data
Django之请求时获取数组
不经常用.....每次用就想不起来~~百度的方式也要百度几次才能找到合适的答案
item_list = request.GET.getlist("item_list[]") # 为什么要加这个[]?因为我用的是ajax的请求方式,ajax会自动在后面添加一个[],form提交方式不需要。
生成requirements.txt文件
在Pycharm中>打开Django项目>打开Terminal框>输入下面命令,即可!
pip3 freeze > requirements.txt # 生成 pip3 install -r requirements.txt # 安装命令
定时任务
更新中.................