最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用python對mysql表做全局模糊搜索并分頁實例

 更新時間:2020年07月12日 13:36:19   作者:Monster_ixx  
這篇文章主要介紹了利用python對mysql表做全局模糊搜索并分頁實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在寫django項目的時候,有的數(shù)據(jù)沒有使用模型管理(數(shù)據(jù)表是動態(tài)添加的),所以要直接使用mysql。前端請求數(shù)據(jù)的時候可能會指定這幾個參數(shù):要請求的頁號,頁大小,以及檢索條件。

"""
	tableName: 表名
	pageNum: 請求的頁的編號
	pageSize: 每一頁的大小
	searchInfo: 需要全局查詢的信息
"""
def getMysqlData(tableName, pageNum, pageSize, searchInfo):
	# 使用MySQLdb獲取的mysql游標(biāo)
  cursor = getCursor()
  # 用以獲取列標(biāo)題
  colSql = 'select * from {} limit 1'.format(tableName)
  cursor.execute(colSql)
  columns = [col[0] for col in cursor.description]
  # 轉(zhuǎn)化查詢信息為sql
  searchCondition = ','.join(columns)
  searchInfo = "WHERE CONCAT({}) like '%{}%'".format(searchCondition, searchInfo)
  # 用以獲取總數(shù)
  totalSql = "select count(*) from {} {};".format(tableName, searchInfo)
  cursor.execute(totalSql)
  total = cursor.fetchone()[0]
  # 用以獲取具體數(shù)據(jù)
  limit1 = (pageNum - 1) * pageSize
  limit2 = pageSize
  dataSql = "select * from {} {} limit {},{};".format(tableName, searchInfo, limit1, limit2)
  cursor.execute(dataSql)
  data = [
    dict(zip(columns, row)) 
    for row in cursor.fetchall()
  ]
  return (total, columns, data)

"""
	total: 符合條件的數(shù)據(jù)總數(shù)
	columns: 字段名列表 
	['字段名1', '字段名2', ...]
	data: 數(shù)據(jù)對象列表 
	[{'字段名1': 數(shù)據(jù)1,'字段名2':數(shù)據(jù)1, ...},{'字段名1': 數(shù)據(jù)2, '字段名2': 數(shù)據(jù)2, ...}, ...]
"""

補(bǔ)充知識:django 分頁查詢搜索--傳遞查詢參數(shù),翻頁時帶上查詢參數(shù)

django在分頁查詢的時候,翻頁時,v層要傳遞查詢參數(shù),相應(yīng)的html翻頁連接也要帶上查詢參數(shù)

直接上代碼

view:

@login_required
def search_name(request):
 
 
  username = request.session.get('user')
  search_name = request.GET.get('name')
  if search_name == None:
    search_name = request.GET.get('name')
 
 
  event_list = Event.objects.filter(name__contains=search_name)
 
  paginator = Paginator(event_list, 2)
  page = request.GET.get('page')
  try:
    contacts = paginator.page(page)
 
  except PageNotAnInteger:
    # 如果page不是整數(shù),取第一頁面數(shù)據(jù)
    contacts = paginator.page(1)
  except EmptyPage:
    # 如果page不在范圍內(nèi),則返回最后一頁數(shù)據(jù)
    contacts = paginator.page(paginator.num_pages)
 
  return render(request,'event_manage.html',{'user':username,'events':contacts,'name':search_name})

html:

 <!--列表分頁器-->
  <div class="pagination">
  <span class="step-links">
    {% if events.has_previous %}
      <a href="?page={{ events.previous_page_number }}&&name={{ name }}" rel="external nofollow" >previous</a>
    {% endif %}
    <span class="current">
      Page {{ events.number }} of {{ events.paginator.num_pages }}
 
    </span>
    {% if events.has_next %}
      <a href="?page={{ events.next_page_number }}&name={{ name }}" rel="external nofollow" >next</a>
    {% endif %}
 
  </span>
  </div>
  {% include 'include/pager.html' %}

以上這篇利用python對mysql表做全局模糊搜索并分頁實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python游戲開發(fā)之視頻轉(zhuǎn)彩色字符動畫

    python游戲開發(fā)之視頻轉(zhuǎn)彩色字符動畫

    這篇文章主要為大家詳細(xì)介紹了python游戲開發(fā)之視頻轉(zhuǎn)彩色字符動畫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • python爬取youtube視頻的示例代碼

    python爬取youtube視頻的示例代碼

    這篇文章主要介紹了python爬取youtube視頻的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Python完成哈夫曼樹編碼過程及原理詳解

    Python完成哈夫曼樹編碼過程及原理詳解

    這篇文章主要介紹了Python完成哈夫曼樹編碼過程及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Windows下python3.7安裝教程

    Windows下python3.7安裝教程

    這篇文章主要為大家詳細(xì)介紹了Windows下python3.7安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • python猜數(shù)字小游戲?qū)崿F(xiàn)代碼

    python猜數(shù)字小游戲?qū)崿F(xiàn)代碼

    大家好,本篇文章主要講的是python猜數(shù)字小游戲?qū)崿F(xiàn)代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python利用D3Blocks繪制可動態(tài)交互的圖表

    Python利用D3Blocks繪制可動態(tài)交互的圖表

    今天小編給大家來介紹一款十分好用的可視化模塊,D3Blocks,不僅可以用來繪制可動態(tài)交互的圖表,并且導(dǎo)出的圖表可以是HTML格式,方便在瀏覽器上面呈現(xiàn),感興趣的可以了解一下
    2023-02-02
  • 深度理解Python中Class類、Object類、Type元類

    深度理解Python中Class類、Object類、Type元類

    本文主要介紹了深度理解Python中Class類、Object類、Type元類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Spring實戰(zhàn)之使用util:命名空間簡化配置操作示例

    Spring實戰(zhàn)之使用util:命名空間簡化配置操作示例

    這篇文章主要介紹了Spring實戰(zhàn)之使用util:命名空間簡化配置操作,結(jié)合實例形式分析了Spring使用util:命名空間簡化配置操作的具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12
  • 舉例詳解Python中的split()函數(shù)的使用方法

    舉例詳解Python中的split()函數(shù)的使用方法

    這篇文章主要介紹了舉例詳解Python中的split()函數(shù)的使用方法,split()函數(shù)的使用是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識,通常用于將字符串切片并轉(zhuǎn)換為列表,需要的朋友可以參考下
    2015-04-04
  • python實現(xiàn)超市管理系統(tǒng)(后臺管理)

    python實現(xiàn)超市管理系統(tǒng)(后臺管理)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)超市管理系統(tǒng),增加后臺管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10

最新評論

龙陵县| 平江县| 章丘市| 馆陶县| 昭觉县| 精河县| 聊城市| 仙居县| 徐汇区| 横山县| 信丰县| 额尔古纳市| 福鼎市| 舒兰市| 武定县| 海盐县| 额尔古纳市| 喀喇沁旗| 安庆市| 文安县| 平利县| 密云县| 桂东县| 永昌县| 武城县| 库尔勒市| 济阳县| 余干县| 阿城市| 屏东县| 虎林市| 农安县| 孟连| 阳城县| 绥中县| 额济纳旗| 襄汾县| 三穗县| 罗甸县| 吴江市| 永宁县|