<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Flask結(jié)合MongoDB

          共 2178字,需瀏覽 5分鐘

           ·

          2019-09-03 19:52

          咪哥雜談

          a192a4664f5182af52cad242a916bf37.webp

          本篇閱讀時(shí)間約為 4 分鐘。


          1

          前言


          今天來介紹下如何將 MongoDB 與 Flask 框架結(jié)合在一起使用。忘記 MongoDB 的同學(xué)可以回顧下之前寫的文章。


          2

          成果展示


          先來個(gè)源碼截圖:


          3591e8174a785dde5b59bfe3259d655a.webp


          項(xiàng)目啟動(dòng)后,直接訪問我們的 url ,讓它去查庫,age 我們傳入 24 好了,數(shù)據(jù)庫中 age = 24 的有 3 條信息。


          127.0.0.1:8080/user/24

          19ffe7425b02bb457699d90a2c73bfa7.webp

          ?注意觀察列出來的幾條,信息是否和后面數(shù)據(jù)庫中數(shù)據(jù)一致!


          3

          環(huán)境準(zhǔn)備


          開始之前,先來安裝一下我們需要的第三庫。


          pip install Flask-PyMongo


          420a3da84fd1264e30f09de9a2711aa5.webp


          Flask提供了第三方插件,將 pymongo 這個(gè)庫與 Flask 整合在了一起,所以需要先安裝此插件庫。


          4

          場景設(shè)定


          場景設(shè)定如下:


          現(xiàn)在 MongoDB 數(shù)據(jù)庫里有 4 條數(shù)據(jù),分別:


          8b64b463812d1dc774c715aef5205b37.webp


          分別是 4 個(gè)不同人的信息,接下來,使用 Flask 來結(jié)合 MongoDB 一起使用,通過頁面 url 傳入查詢字段,在 url 上傳入 24,讓 Flask 去 MongoDB 中查詢 age=24 的用戶信息,并顯示在頁面上。


          5

          代碼講解


          1. HTML 涉及的代碼:


          <html lang="en"><head>    <meta charset="UTF-8">    <title>Titletitle>head><body><h1>咪哥雜談h1><hr/><h3>展示區(qū) Users:h3><ul>    {% for user in users %}        <li>姓名:{{ user.name }}, 年齡:{{ user.age }}, 身高:{{ user.height }}, 體重:{{ user.weight }}li>    {% endfor %}ul>body>html>


          通過 jinjia2 的語法,將后端 python 傳入的用戶數(shù)據(jù)分別以無序的形式打印出來。后端 flask 在向前端傳遞值時(shí),從 MongoDB 中查出的是以變量名為 users 傳到此頁面上。


          遍歷每條用戶信息,將符合的用戶信息以無序的形式展現(xiàn)在網(wǎng)頁上。


          2. flask 涉及的代碼:


          首先,觀察下?flask結(jié)合 pymongo 的插件開啟數(shù)據(jù)庫實(shí)例,和原來直接使用 pymongo 的區(qū)別。


          開啟數(shù)據(jù)庫實(shí)例對比:


          Flask-PyMongo:

          from flask import Flask, render_templatefrom flask_pymongo import PyMongo
          app = Flask(__name__)app.config['DEBUG'] = True # 開啟 debugmongo?=?PyMongo(app,?uri="mongodb://localhost:27017/traffic")??#?開啟數(shù)據(jù)庫實(shí)例


          pymongo:

          import pymongo client = pymongo.MongoClient(host='127.0.0.1') #連接


          不難看出,flask的插件中,直接將數(shù)據(jù)庫的名字 traffic 作為 url 地址寫入其中,在接下來使用的時(shí)候,便可以不用去選定庫名了。




          對比下查詢操作:


          @app.route('/user/')def query_user(age):    if age:        users = mongo.db.person.find({'age': age})        print(type(users))        print(users)        if users:            return render_template('user.html', users=users)        else:            return 'No user found!'
          if __name__ == "__main__": app.run(host='127.0.0.1', port=8080)


          這部分代碼是通過設(shè)定路由函數(shù),當(dāng)我們訪問?/user/age 時(shí),便可以將年齡作為參數(shù)條件,去查詢數(shù)據(jù)庫中的用戶信息。


          Flask-PyMongo:

          users = mongo.db.person.find({'age': age})


          pymongo:

          db?=?client.trafficcollections = db.person  # 創(chuàng)建集合,student 相當(dāng)于 mysql 的表名result2 = collections.find({'age': '22'})


          發(fā)現(xiàn)了吧,其實(shí)除了開啟數(shù)據(jù)庫實(shí)例的時(shí)候不同,剩下關(guān)鍵查詢時(shí)的操作都是一樣的!所以就不一一介紹了,想看具體操作可以回顧 pymongo 操作的 3 篇文章。


          6

          總結(jié)


          網(wǎng)頁版相關(guān)教程寫到這里就結(jié)束了,所有教程都是很基礎(chǔ)的入門教程。歷時(shí)一個(gè)月,終于完成啦,關(guān)于 flask 和 mongo 的知識點(diǎn)其實(shí)很多,但是可以通過去查閱官方文檔來幫助學(xué)習(xí)。用到的時(shí)候,去查文檔就好了!


          離實(shí)時(shí)交通的項(xiàng)目,就差一個(gè)如何去調(diào)用高德地圖提供的接口講解了。下篇打算寫下,如何使用 requests 庫來調(diào)用高德地圖提供的數(shù)據(jù),以便自己的項(xiàng)目使用!727dc4cd38b3218395e9873e742d26e8.webp


          今天這篇文章略短,篇幅多以代碼為例講解,大家如果有什么問題,歡迎留言區(qū)留言!7892dfb0b98ecc4ca2c540804031af4d.webp7892dfb0b98ecc4ca2c540804031af4d.webp7892dfb0b98ecc4ca2c540804031af4d.webp





          ▼往期精彩回顧▼咪哥的思維認(rèn)知日記(三) - 賺錢思維
          Python操作MongoDB數(shù)據(jù)庫(二)
          Python操作MongoDB數(shù)據(jù)庫(一)



          4272652b6965094ae02a702ceed27ed1.webp你點(diǎn)的每個(gè)在看,我都認(rèn)真當(dāng)成了喜歡
          瀏覽 50
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美激情动态图 | 激情视频污污污无码 | 国产成人a亚洲精品 | 激情视频国产 | 黄色视频在线免费观看视频 |