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

利用python對(duì)mysql表做全局模糊搜索并分頁實(shí)例

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

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

"""
	tableName: 表名
	pageNum: 請(qǐng)求的頁的編號(hào)
	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ù)對(duì)象列表 
	[{'字段名1': 數(shù)據(jù)1,'字段名2':數(shù)據(jù)1, ...},{'字段名1': 數(shù)據(jù)2, '字段名2': 數(shù)據(jù)2, ...}, ...]
"""

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

django在分頁查詢的時(shí)候,翻頁時(shí),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對(duì)mysql表做全局模糊搜索并分頁實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    python爬取youtube視頻的示例代碼

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

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

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

    Windows下python3.7安裝教程

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

资阳市| 玛纳斯县| 克东县| 沅江市| 南充市| 贞丰县| 十堰市| 开平市| 济阳县| 台前县| 托克托县| 锡林郭勒盟| 连城县| 太仆寺旗| 称多县| 太康县| 根河市| 松潘县| 河南省| 积石山| 济宁市| 西贡区| 怀宁县| 高台县| 富裕县| 宁明县| 阜康市| 长泰县| 博湖县| 河曲县| 德清县| 上林县| 四子王旗| 荥阳市| 桂东县| 称多县| 连云港市| 大兴区| 桓台县| 宣城市| 双鸭山市|