当前位置: 首页 > news >正文

做哪个网站招出国打工的多wordpress出境游

做哪个网站招出国打工的多,wordpress出境游,天津 网站建设公司,东莞物流公司需求 基于ListView,创建一个列表视图,用于展示BookInfo表的信息要求提供分页提供对书名,作者,描述的查询功能 示例展示: 1. 数据模型 models.py class BookInfo(models.Model):titlemodels.CharField(verbose_name书名,max_length100)authormode…需求 基于ListView,创建一个列表视图,用于展示BookInfo表的信息要求提供分页提供对书名,作者,描述的查询功能 示例展示: 1. 数据模型 models.py class BookInfo(models.Model):titlemodels.CharField(verbose_name书名,max_length100)authormodels.CharField(verbose_name作者,max_length100)descmodels.TextField(verbose_name介绍)create_atmodels.DateTimeField(verbose_name创建时间,auto_nowTrue)update_atmodels.DateTimeField(verbose_name更新时间,auto_now_addTrue)2. 视图 views.py from functools import reduce from typing import Any from django.shortcuts import render,redirect from django.db.models import Q from django.views.generic import ListView from django.views.generic.detail import DetailView from .models import * from .forms import *class BookListView(ListView):modelBookInfotemplate_name demo1/book_list.htmlpaginate_by 10def get_queryset(self):title self.request.GET.get(title)author self.request.GET.get(author)content self.request.GET.get(content)# 如果有任意参数不为空则构建Q对象进行查询queries [Q(titile__icontainstitle) if title else Q(),Q(author__icontainsauthor) if author else Q(),Q(desc__icontainscontent) if content else Q()]# 使用Q对象的操作符组合查询条件queryset BookInfo.objects.filter(reduce(lambda x, y: x y, queries)) if queries else BookInfo.objects.all()return querysetdef get_context_data(self, **kwargs):context super().get_context_data(**kwargs)# 保留查询参数到分页链接query_params self.request.GET.copy()if page in query_params:del query_params[page] # 移除现有的页码参数以避免冲突paginator context[paginator]page_numbers_range 5 # 您可以根据需要调整显示的页码范围大小max_index len(paginator.page_range)page self.request.GET.get(page)current_page int(page) if page else 1start_index int((current_page - 1) / page_numbers_range) * page_numbers_rangeend_index start_index page_numbers_rangeif end_index max_index:end_index max_indexpage_range paginator.page_range[start_index:end_index]context[page_range] page_rangecontext[query_params] query_params.urlencode() # 将查询参数编码为URL字符串return contextdef get(self, request, *args, **kwargs):# 如果是重定向回来的需要处理paginate_by参数if paginate_by in request.GET:try:paginate_by int(request.GET[paginate_by])if paginate_by 0: # 防止不合法的值self.paginate_by paginate_byexcept ValueError:pass # 如果转换失败忽略错误使用默认设置return super().get(request, *args, **kwargs)class BookDetailView(DetailView):modelBookInfotemplate_name demo1/book_detail.htmlcontext_object_name book注册路由(urls.py) from django.urls import path from .views import *urlpatterns [path(book,BookListView.as_view(),namebook-list),path(book/detail/int:pk/,BookDetailView.as_view(),namebook-detail), ]3. 页面代码 列表页: {% extends layout.html %}{% block main %}div classpanel panel-defaultdiv classcontainerform methodGET检索:input typetext nametitle placeholder书名 value{{ request.GET.title }}input typetext nameauthor placeholder作者 value{{ request.GET.author }}input typetext namecontent placeholder内容关键字 value{{ request.GET.content }}button typesubmit搜索/buttonnbsp; a href{% url book-list %} classbtn-sm btn-danger清空查询条件/a/form/divhrdiv classpanel-bodytable classtable table-stripedtheadtrthID/thth书名/thth作者/thth说明/thth创建时间/thth更新时间/thth操作/th/tr/theadtbody{% for book in object_list %}trtd{{ book.id }}/tdtd{{ book.titile }}/tdtd{{ book.author }}/tdtd{{ book.desc }}/tdtd{{ book.create_at }}/tdtd{{ book.update_at }}/tdtda href{% url book-detail book.id %}查看详情/a/td/tr{% endfor %}/tbody/table{% if is_paginated %}div classpaginationp第 {{ page_obj.number }} 页 / 共 {{ page_obj.paginator.num_pages }} 页/p!-- 首页 --{% if page_obj.has_previous %}a href?{{ query_params }}page1首页/a{% endif %}!-- 上一页 --{% if page_obj.has_previous %}a href?{{ query_params }}page{{ page_obj.previous_page_number }}上一页/a{% endif %}!-- 中间页码显示首末3页及当前页附近的页码其余用省略号表示 --{% for num in page_obj.paginator.page_range %}{% if num page_obj.number %}span{{ num }}/span !-- 当前页不做成链接 --{% elif num page_obj.number|add:-2 and num page_obj.number|add:2 %}a href?{{ query_params }}page{{ num }}{{ num }}/a{% elif num in page_obj.paginator.page_range|slice::3 or num in page_obj.paginator.page_range|slice:-3: %}a href?{{ query_params }}page{{ num }}{{ num }}/a !-- 确保首末3页始终显示 --{% elif num page_obj.number|add:-3 or num page_obj.number|add:3 %}span.../span{% endif %}{% endfor %}!-- 下一页 --{% if page_obj.has_next %}a href?{{ query_params }}page{{ page_obj.next_page_number }}下一页/a{% endif %}!-- 尾页 --{% if page_obj.has_next %}a href?{{ query_params }}page{{ page_obj.paginator.num_pages }}尾页/a{% endif %}!-- 当前页及总页数信息 --!-- 跳转到指定页的表单 --label forjumpToPage跳转到页数:/labelinput typenumber idjumpToPage min1button onclickjumpToPage()跳转/button/div/div{% endif %}/divscriptfunction jumpToPage() {var jumpTo document.getElementById(jumpToPage).value;var currentQueryParams new URLSearchParams(window.location.search);if (jumpTo.trim() ! ) { // 确保输入有效// 保留现有查询参数并添加或更新page参数currentQueryParams.set(page, jumpTo);window.location.href window.location.pathname ? currentQueryParams.toString();} else {alert(请输入有效的页数);}}/script {% endblock %}详情页(略)
http://www.hkea.cn/news/14439845/

相关文章:

  • 麻城建设局网站停办室内设计素材网站大全
  • 网站做的不好使网站优化是往新闻中心发新闻吗
  • 宇锋网站建设wordpress主题虚拟资源交易平台
  • 用自己网站做淘宝客学什么专业可以做网站
  • 网站怎么搬家网站留言板模版
  • 免费建网站软件系统access做调查表网站
  • 用dz做网站怎么设置数据库简单的小手工
  • 昆明岭蓝网站建设公司赣州科技有限公司
  • 怎么申请一个免费的网站江西h5响应式网站建设设计
  • 2017网站建设费用1.申请网站空间
  • 网站网页设计怎么报价哪些网站可以做邀请函
  • 天津专业的做网站与运营的公司网站建设的简历范文
  • 发帖百度秒收录网站分享wordpress 图片编辑
  • 淘宝客怎么自己做网站及APP山西人工智能建站系统软件
  • 哪些产品可以做单页网站长沙竞价网站建设价格
  • 企业网站制作费用国内永久免费的crm
  • 个人的网站如何做外贸网站
  • 中国制造网服务种类衡阳seo排名
  • 做色网站建站计划书
  • 在线网站建设收费湖北省建设工程造价管理站网站
  • 打开网站代码怎么写国内网站建设排名
  • 有了ddns怎么建设网站网站空间 域名
  • 乐清建站公司企业建站公司是干嘛的
  • 聊城做网站公司聊城博达网站注册手机号安全吗
  • 企业在建设银行网站怎么发工资专业做旅游网站
  • 青岛做网站服务商wordpress 后台编辑
  • 深圳如何优化网站巨腾外贸网站建设
  • 各种网站的区别无锡效果图制作
  • 电商网站建设解决方案企业宣传文案模板
  • 兰州网站推大理建设局网站