日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Flask实现简单搜索功能

發(fā)布時(shí)間:2024/1/8 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flask实现简单搜索功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Flask實(shí)現(xiàn)簡(jiǎn)單搜索功能


主要功能是通過form的方式傳值,再到數(shù)據(jù)庫(kù)中查詢。下面是數(shù)據(jù)庫(kù)的內(nèi)容我們這里主要是實(shí)現(xiàn)對(duì)content進(jìn)行模糊匹配。

首先打開pycharm,構(gòu)建一個(gè)最簡(jiǎn)單的flask應(yīng)用。

#search.py

from flask import Flask

app = Flask(__name__)

@app.route("/")

def index():

??? return render_template('search.html')

if __name__ =="__main__":

??? app.run()

?

既然要搜索,必要要連接數(shù)據(jù)庫(kù),要引入SQLAlchemy這個(gè)包。

#search.py

from flask_sqlalchemy import SQLAlchemy

?

app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8'

app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True #root用戶名123456密碼 test數(shù)據(jù)庫(kù)

最后我們需要從form表單拿到我們想要的數(shù)據(jù)。然后進(jìn)行數(shù)據(jù)庫(kù)查詢操作

@app.route('/', methods=['post', 'get'])

def search():

??? content = request.form.get('content') #需要查詢的內(nèi)容

??? if content is None:

??????? content = " "

??? quotes = Quotes.query.filter(Quotes.content.like("%"+content+"%")if content is not None else "").all() #查詢跟content有關(guān)的數(shù)據(jù),返回結(jié)果為列表

??? return render_template('search.html',quotes = quotes) #將查詢結(jié)果返回到前端

#search,html

<!DOCTYPE html>

<html lang="en">

<head>

??? <meta charset="UTF-8">

??? <title>Title</title>

</head>

<body>

<form method="post" action="{{url_for('search')}}">

??? <input type="text" name="content" id="content" placeholder="請(qǐng)輸入搜索內(nèi)容">

??? <input type="submit" value="搜索">

</form>

<div>

??? <table border="1px" cellspacing="0px">

??????? {% for i in quotes %}

??????? <tr>

??????????? <td>名字</td>

??????????? <td>{{i.name}}</td>

??????????? <td>內(nèi)容</td>

??????????? <td>{{i.content}}</td>

??????? </tr>

??????? {% endfor %}

??? </table>

</div>

</body>

</html>


效果如下:

一個(gè)簡(jiǎn)單的查詢功能就完成了,這里只是做了單條件模糊查詢。接下來(lái)介紹多條件模糊查詢和精確查詢

#多條件模糊查詢

content = Quotes.query.filter(

???? Quotes.id.like("%" + id + "%") if id is not None else "",

???? Quotes.name.like("%" + name + "%") if name is not None else "",

???? Quotes.content.like("%" + content + "%") if content is not None else ""

?).all()

?

#單條件精確查詢

content = Quotes.query.filter_by(id=id).all()

#多條件精確查詢

content = Quotes.query.filter_by(id=id,name=name).all()

最后附上完整代碼

#search.py

from flask import Flask, config, render_template, request, flash, url_for, session

from flask_sqlalchemy import SQLAlchemy

?

?

app = Flask(__name__)

?

app.config.from_object(config)

?

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:1914571065lyj@127.0.0.1:3306/java2019?charset=utf8'

app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True

?

db = SQLAlchemy(app)

?

?

class Quotes(db.Model):

??? id = db.Column(db.Integer, primary_key=True, comment='ID')

??? name = db.Column(db.String(255), unique=True, comment='名稱')

??? content = db.Column(db.String(255), comment='內(nèi)容')

?

?

@app.route('/', methods=['post', 'get'])

def search():

??? content = request.form.get('content')

??? if content is None:

??????? content = " "

??? quotes = Quotes.query.filter(Quotes.content.like("%"+content+"%")if content is not None else "").all()

??? return render_template('search.html',quotes = quotes)

?

?

if __name__ == "__main__":

??? app.run(debug=True)

?

#search.py

<!DOCTYPE html>

<html lang="en">

<head>

??? <meta charset="UTF-8">

??? <title>Title</title>

</head>

<body>

<form method="post" action="{{url_for('search')}}">

??? <input type="text" name="content" id="content" placeholder="請(qǐng)輸入搜索內(nèi)容">

??? <input type="submit" value="搜索">

</form>

<div>

??? <table border="1px" cellspacing="0px">

??????? {% for i in quotes %}

??????? <tr>

??????????? <td>名字</td>

??????????? <td>{{i.name}}</td>

??????????? <td>內(nèi)容</td>

??????????? <td>{{i.content}}</td>

??????? </tr>

??????? {% endfor %}

??? </table>

</div>

</body>

</html>

?

總結(jié)

以上是生活随笔為你收集整理的Flask实现简单搜索功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品69久久久 | 色欲久久久天天天综合网 | 亚洲天堂91 | 亚洲 欧美 精品 | 精品不卡一区二区 | 黄在线观看 | 香蕉精品在线 | 91涩漫成人官网入口 | 日韩免费精品视频 | 一色道久久88加勒比一 | 亚洲精品国产综合 | 日本高清二区 | 欧洲美一区二区三区亚洲 | 欧美精品欧美极品欧美激情 | 亚洲av熟女国产一区二区性色 | 欧美性xxxxx 亚洲特黄一级片 | 第一福利丝瓜av导航 | 男人在线天堂 | 毛片成人网| 欧美在线视频一区二区 | 丰满少妇中文字幕 | jizz日本大全 | 日韩精品激情 | 99re热这里只有精品视频 | 国产精品一区二区黑人巨大 | 天天爽天天射 | 国产第七页 | 巨胸挤奶视频www网站 | eeuss鲁片一区二区三区在线观看 | 天天摸夜夜爽 | 一级视频在线免费观看 | 男女啪啪无遮挡 | 亚洲网站免费观看 | 亚洲免费a | 亚洲精品在线视频 | 色欲AV无码精品一区二区久久 | 亚洲四区 | 夜色综合 | 香蕉视频在线观看视频 | 日韩激情一区二区 | 日日夜夜爽 | 日本在线免费观看 | 亚洲a级片| 黑人操日本 | wwwav视频| 久热久 | 国产夫妇交换聚会群4p | 国产成人精品一区二区三区网站观看 | 韩国一级片在线观看 | 无码国模国产在线观看 | 欧洲成人一区二区三区 | 国产精品丝袜黑色高跟鞋 | 国产成人在线网站 | 国产一区综合 | porn麻豆| 国产探花在线精品一区二区 | 18禁裸乳无遮挡啪啪无码免费 | 亚洲四区 | 久久日韩精品 | 少妇99| 国产精品久久久久久久久借妻 | 99热一区| 欧美操老女人 | 久久综合国产 | 蜜桃成人在线 | 国产女人叫床高潮大片免费 | 国产做受网站 | 欧美精品黑人 | 国产免费黄网站 | 成人在线不卡 | 婷婷国产成人精品视频 | 国产午夜手机精彩视频 | 日韩黄色一区二区 | 亚洲国产第一 | 久草视频在线免费看 | 欧美视频免费在线观看 | 老熟妇高潮一区二区高清视频 | 日韩欧美无 | 免费在线观看av的网站 | 久久久久国产精品夜夜夜夜夜 | 碧蓝之海动漫在线观看免费高清 | 美女伦理水蜜桃4 | 男女黄床上色视频免费的软件 | 国产精品一级无码 | porn亚洲| 久久国产美女视频 | 婷婷玖玖 | 99草在线视频 | 男人午夜影院 | 尤物视频在线观看国产 | 国产精品久久久久久久久绿色 | 日韩字幕在线 | 性视频网址| 亚洲国产精品免费视频 | 日韩 欧美 国产 综合 | 日批视频免费观看 | 涩涩成人 | 欧美人体做爰大胆视频 | 国产精品久久免费视频 |