国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

flask基礎(chǔ)01

Keven / 2838人閱讀

摘要:用于提供命令,并允許添加自定義管理命令創(chuàng)建第一個(gè)應(yīng)用文件內(nèi)容導(dǎo)入類創(chuàng)建類的實(shí)例使用裝飾器來(lái)告訴觸發(fā)函數(shù)的函數(shù)名稱被用于生成相關(guān)聯(lián)的。請(qǐng)求中的。。。。與類似也是一個(gè)內(nèi)置對(duì)象可以直接打印。。。。

Flask基礎(chǔ) Python版本管理器(pyenv)
安裝pyenv
1:  sudo apt-get install curl git 
2:  sudo curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
3:  將提示的三行代碼復(fù)制 # 會(huì)出現(xiàn)提示的三行代碼,格式如下
    eg:
        export PATH="/root/.pyenv/bin:$PATH"
        eval "$(pyenv init -)"
        eval "$(pyenv virtualenv-init -)" 
4: sudo vim ~/.bashrc 
5: 追加剛才復(fù)制的三行代碼至最后
    eg: 
        export PATH="/root/.pyenv/bin:$PATH"
        eval "$(pyenv init -)"
        eval "$(pyenv virtualenv-init -)" 
6: sudo source ~/.bashrc       
7: sudo echo $PATH # 如果出現(xiàn)  .pyenv/shims 說(shuō)明成功
8: pyenv update # 更新
卸載pyenv
1: sudo rm -fr ~/.pyenv
2: 同時(shí)刪除  .bashrc 下面這些內(nèi)容
    export PATH="~/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
安裝python
1:安裝依賴
    sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
    sudo apt-get install libc6-dev gcc-5 
2:cd ~/.pyenv
3: mkdir -p cache
4: 將下載的 python包 放到cache下 
5: pyenv install 3.6.4 -v 
6: pyenv rehash # 更新pyenv庫(kù)
Python管理
1:列出pyenv已經(jīng)安裝的python版本
    pyenv versions
2: python版本切換
    pyenv global 3.6.4 
3:卸載python
    pyenv uninstall 3.6.4
虛擬環(huán)境管理
第一種
1:Python自帶環(huán)境創(chuàng)建
    # 創(chuàng)建環(huán)境
    python -m venv 
    # 激活環(huán)境
    source ....pathon/bin/activate # 環(huán)境的路徑
    # 退出環(huán)境
    deactivate
第二種
1: pip install virtualenvwrapper 
2: sudovim ~/.bashrc 
3: 最后一行加入 # 注意修改主機(jī)名,和python版本
    if [ -f /home/dq/.pyenv/versions/3.6.4/bin/virtualenvwrapper.sh ]; then

    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/home/dq/.pyenv/versions/3.6.4/bin/python
    export VIRTUALENVWRAPPER_VIRTUALENV=/home/dq/.pyenv/versions/3.6.4/bin/virtualenv
    source /home/dq/.pyenv/versions/3.6.4/bin/virtualenvwrapper.sh
    fi
4:source ~/.bashrc # 配置文件生效
5: 基本使用:
    # 創(chuàng)建環(huán)境
    mkvirtualenv 
    # 激活環(huán)境
    workon  
    # 退出環(huán)境
    deactivate
    # 列出所有的虛擬環(huán)境
    lsvirtualenv
    # 刪除虛擬環(huán)境
    rmvirtualenv 
    # 虛擬環(huán)境存放位置
    ~/.virtualenvs/
第三種
1: pip install virtualenv
2: mkdir -p /data/blog
3: cd /data/blog/
4: 基本使用
    # 創(chuàng)建環(huán)境
    pyenv virtualenv 
    # 激活環(huán)境
    pyenv activate 
    # 退出環(huán)境
    pyenv deactivate 
    # 虛擬存放位置 ~/.pyenv/versions/
第四種
1:pycharm編輯器自帶創(chuàng)建虛擬環(huán)境功能
Flask依賴包
安裝flask
pip install flask
包名 作用
Werkzeug 用于實(shí)現(xiàn) WSGI ,應(yīng)用和服務(wù)之間的標(biāo)準(zhǔn) Python 接口
Jinja 用于渲染頁(yè)面的模板語(yǔ)言
MarkupSafe 與 Jinja 共用,在渲染頁(yè)面時(shí)用于避免不可信的輸入,防止注入攻擊
ItsDangerous 保證數(shù)據(jù)完整性的安全標(biāo)志數(shù)據(jù),用于保護(hù) Flask 的 session cookie
Click 是一個(gè)命令行應(yīng)用的框架。用于提供 flask 命令,并允許添加自定義 管理命令
創(chuàng)建第一個(gè)Flask應(yīng)用
文件內(nèi)容
from flask import Flask
# 導(dǎo)入Flask類
app = Flask(__name__)
# 創(chuàng)建Flask類的實(shí)例

@app.route("/")
# 使用 route() 裝飾器來(lái)告訴 Flask 觸發(fā)函數(shù)的 URL
def hello_world():
    # 函數(shù)名稱被用于生成相關(guān)聯(lián)的 URL 。函數(shù)最后返回需要在用戶瀏覽器中顯示的信息
    return "Hello, World!"
項(xiàng)目啟動(dòng)
1:手動(dòng)啟動(dòng):
    1:終端里導(dǎo)出 FLASK_APP 環(huán)境變量:
        export FLASK_APP=app.py
    2:啟動(dòng)項(xiàng)目:
        flask run
    3:瀏覽器訪問(wèn)
        127.0.0.0:5000
2:pycharm中啟動(dòng):
    python app.py runserver
     # 文件內(nèi)容中要有以下代碼:
        if __name__ == "__main__":
        app.run()
    -p # 端口號(hào)
    -h # 主機(jī)名
    -r # 修改代碼重載
    -d # 調(diào)試模式 
路由
1:變量規(guī)則:
    # 關(guān)鍵字參數(shù)
    @app.route("/user/")
    def show_user_profile(username):
        
        return "User %s" % username 
    127.0.0.1:5000/user/cross
        
    # 關(guān)鍵字加限定類型
    @app.route("/post/")
    def show_post(post_id):
        
        return "Post %d" % post_id
2: 參數(shù)類型:
    1:string  # 接受任何不包含斜杠的文本
    2: int     # 接受正整數(shù)
    3: float   # 接受正浮點(diǎn)數(shù)
    4: path    # 類似 string ,但可以包含斜杠
    5: uuid    # 接受 UUID 字符串
3:唯一url和重定向行為:
    1:@app.route("/projects/")
    2:@app.route("/about")
    # 如果瀏覽器訪問(wèn)資源路徑后面一個(gè)斜杠不加的話,1路由請(qǐng)求不會(huì)報(bào)錯(cuò),flask會(huì)自動(dòng)重定向幫你加上斜杠,2:路由也不會(huì)報(bào)錯(cuò)
    # 如果瀏覽器訪問(wèn)資源路徑后面添加上一個(gè)斜杠的話2路由會(huì)報(bào)404錯(cuò)誤 
HTTP方法
1:route裝飾器中如果不聲明請(qǐng)求方法默認(rèn)是GET方法
    # 如果想要使用post方法,需要聲明 methods=["POST"]
2:eg:
    from flask import request
    @app.route("/login", methods=["GET", "POST"])
    def login():
        if request.method == "POST":
            return do_the_login()
        else:
            return show_the_login_form()
Flask第一次封裝
項(xiàng)目結(jié)構(gòu)
├── App    # 項(xiàng)目應(yīng)用
│?? ├── __init__.py   # 初始化文件
│?? ├── models.py     # 模型 創(chuàng)建數(shù)據(jù)庫(kù)模型 orm對(duì)象關(guān)系映射
│?? ├── static        # 靜態(tài)資源 css js img 等等
│?? ├── templates     # 模板,動(dòng)態(tài)資源,html
│?? └── views.py      # 路由 試圖函數(shù)
├── app.py            # 整個(gè)項(xiàng)目文件,項(xiàng)目入口                 
命令行管理項(xiàng)目(manager.py)
1:pip install flask-script
2: 基本使用
    from flask import Flask
    from flask_script import Manager

    app = Flask(__name__)
    manager = Manager(app=app)
    
    @app.route("/")
    def hello_world():
        return "Hello World!"
    
    if __name__ == "__main__":
        manager.run()
3:修改項(xiàng)目入口文件為manager.py        
4: 測(cè)試:
    python manager.py runserver
初始化Flask類(__init__.py)
1:init文件封裝函數(shù)實(shí)例化Flask類
    from flask import Flask


    def create_app():
        app = Flask(__name__)
        return app
2:manager.py 導(dǎo)入函數(shù)實(shí)例化類
    from flask_script import Manager
    from App import create_app

    app = create_app()
    ..................
藍(lán)圖管理路由(views.py)
1: 藍(lán)圖(blutprint):
     1:好處:
            Flask藍(lán)圖提供了模塊化管理程序路由的功能,使程序結(jié)構(gòu)清晰、簡(jiǎn)單易懂,項(xiàng)目模塊化,方便管理
2:安裝:
    pip install flask-blueprint
3: 藍(lán)圖使用 
    1:實(shí)例化藍(lán)圖
        from flask import Blueprint
        blue = Blueprint("first", __name__) # first為藍(lán)圖名字,多為反向解析時(shí)使用
    2:裝飾函數(shù)
        @blue.route("/")
        def hello_world():
            return "Hello World!"
    3:注冊(cè)藍(lán)圖(manager.py)
        from App.views import blue
        app.register_blueprint(blue) 或者 app.register_blueprint(blueprint=blue)   
request
方法 返回值 eg:
request.method 返回請(qǐng)求方法 GET/POST
request.base_url 去掉get參數(shù)的url http://127.0.0.1:5000/testrequest/
request.host_url 只有主機(jī)和端口號(hào)的url http://127.0.0.1:5000/
request.url 完整的請(qǐng)求地址 http://127.0.0.1:5000/testrequest/
request.mote_addr 請(qǐng)求的客服端地址 127.0.0.1
request.args.get("參數(shù)") GET請(qǐng)求獲取參數(shù) cross
request.form.get("參數(shù)") POST請(qǐng)求獲取參數(shù) cross
request.files 文件上傳 。。。。
request.headers 請(qǐng)求頭 。。。。
request.path 路由中的路徑 。。。。
request.cookies 請(qǐng)求中的cookie 。。。。
session 與request類似 也是一個(gè)內(nèi)置對(duì)象 可以直接打印 print(session) 。。。。
request.form["參數(shù)"] POST請(qǐng)求獲取參數(shù) cross
request.args["參數(shù)"] GET請(qǐng)求獲取參數(shù) cross
response
返回類型
1:string  # 字符串
    @blue.route("/testresponse/")
    def testresponse():
        return "過(guò)去從未消亡,它甚至從未過(guò)去"
2:reder_template  # 模板渲染
    @blue.route("/testresponse1/")
    def testresponse1():
        return render_template("/index.html/")
3:make_response  
    @blue.route("/testresponse2/")
    def testresponse2():
        res = make_response("

過(guò)去從未消亡,它甚至從未過(guò)去

") print(type(res)) return res
4:redirect # 重定向
    @blue.route("/testresponse3/")
    def testresponse3():
        res = redirect(url_for("first.testresponse1"))
        print(type(res))
        return res
5:Response
    @blue.route("/testresponse4/")
    def testresponse4():
        name = request.args.get("name")
        res = Response("你真的認(rèn)識(shí)我嗎?%s" % name)
        return res 
會(huì)話技術(shù)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/43718.html

相關(guān)文章

  • docker-compose 運(yùn)行 Flask 應(yīng)用最佳實(shí)踐

    摘要:現(xiàn)在有了之后,部署方式變了更加容易,不容易出現(xiàn)配置錯(cuò)誤,環(huán)境不一致問(wèn)題。實(shí)際應(yīng)用中,經(jīng)常遇到多個(gè)容器相配合運(yùn)行一套應(yīng)用程序的情況。所以想要將應(yīng)用運(yùn)行在容器中,該容器必須將該應(yīng)用所有的環(huán)境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應(yīng)用,需要各種環(huán)境配置,各種shell操作...

    fasss 評(píng)論0 收藏0
  • docker-compose 運(yùn)行 Flask 應(yīng)用最佳實(shí)踐

    摘要:現(xiàn)在有了之后,部署方式變了更加容易,不容易出現(xiàn)配置錯(cuò)誤,環(huán)境不一致問(wèn)題。實(shí)際應(yīng)用中,經(jīng)常遇到多個(gè)容器相配合運(yùn)行一套應(yīng)用程序的情況。所以想要將應(yīng)用運(yùn)行在容器中,該容器必須將該應(yīng)用所有的環(huán)境依賴安裝好。 showImg(https://segmentfault.com/img/remote/1460000017081815); 背景 ??以前部署應(yīng)用,需要各種環(huán)境配置,各種shell操作...

    sumory 評(píng)論0 收藏0
  • 基于 oracle 的 flask 項(xiàng)目(五)——報(bào)表下載

    摘要:將報(bào)表下載下來(lái),然后能稍許進(jìn)行修飾,這是必須的。項(xiàng)目描述將頁(yè)面原始呈現(xiàn)的數(shù)據(jù)及搜索后的數(shù)據(jù)以報(bào)表的形式下載下來(lái)。至此,你可以實(shí)驗(yàn)一下,你的項(xiàng)目是否可以實(shí)現(xiàn)報(bào)表下載了。 在國(guó)企,很多領(lǐng)導(dǎo)是按部就班的晉升上來(lái)的,他們的年齡及經(jīng)歷使他們至今還沒(méi)有掌握電腦的基礎(chǔ)知識(shí),因此,紙質(zhì)報(bào)表是他們掌握全局的依據(jù),必備的工具。將報(bào)表下載下來(lái),然后能稍許進(jìn)行修飾,這是必須的。 項(xiàng)目描述 將頁(yè)面原始呈現(xiàn)的數(shù)據(jù)...

    klinson 評(píng)論0 收藏0
  • 如何優(yōu)雅的在flask中記錄log

    摘要:一般的工廠模式結(jié)構(gòu)如下那么我們?cè)谙仍谥卸x,然后再在中定義子,均使用初始化輸出可以發(fā)現(xiàn)輸出的就是所在的文件目錄,之間的繼承關(guān)系與整個(gè)程序包保持一致。在模塊中通過(guò)來(lái)記錄輸出效果注意對(duì)于的引用不能通過(guò)如下方式,會(huì)有的報(bào)錯(cuò)。 背景 記錄日志,在任何項(xiàng)目中,都是很重要的。在Flask項(xiàng)目中,即有Flask提供的logger可以用來(lái)記錄log,也可以通過(guò)直接使用Python的logging模塊自...

    hsluoyz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<