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

本地部署Python?Flask并搭建web問答應用程序框架實現(xiàn)遠程訪問的操作方法

 更新時間:2023年12月21日 10:56:43   作者:nagiY  
Flask是一個Python編寫的Web微框架,使用Python語言快速實現(xiàn)一個網(wǎng)站或Web服務,本期教程我們使用Python Flask搭建一個web問答應用程序框架,并結合cpolar內(nèi)網(wǎng)穿透工具將我們的應用程序發(fā)布到公共網(wǎng)絡上,實現(xiàn)可多人遠程進入到該web應用程序訪問,需要的朋友可以參考下

使用Python Flask搭建web問答應用程序框架,并發(fā)布到公網(wǎng)上訪問

前言

Flask是一個Python編寫的Web微框架,讓我們可以使用Python語言快速實現(xiàn)一個網(wǎng)站或Web服務,本期教程我們使用Python Flask搭建一個web問答應用程序框架,并結合cpolar內(nèi)網(wǎng)穿透工具將我們的應用程序發(fā)布到公共網(wǎng)絡上,實現(xiàn)可多人遠程進入到該web應用程序訪問。

在操作上我們將使用HTML來創(chuàng)建網(wǎng)頁的結構,然后使用css設計這個結構并且使其看起來更漂亮,此外還會利用Javascript與頁面上的不同元素進行交互,最后使用python與web服務器(也成為后端)進行連接。

1. 安裝部署Flask并制作SayHello問答界面

本篇文章代碼使用 Python3 運行

安裝環(huán)境:需要在電腦上安裝 Python3 和 pip3。建議安裝最新版本

檢查是否有安裝了pip的可用Python,查看Python和pip版本:

C:> py --version
Python 3.N.N
C:> py -m pip --version
pip X.Y.Z from ... (python 3.N.N)

使用pip安裝和更新:

$ pip install -U Flask

創(chuàng)建環(huán)境:

conda create -n SAYHELLO python=3.10

激活環(huán)境:

conda activate SAYHELLO

創(chuàng)建項目目錄:

mkdir SAYHELLO

進入到創(chuàng)建的目錄:

cd SAYHELLO

在當前目錄啟動VS Code:

code .

SAYHELLO文件夾下新建兩個附加文件夾,一個名為templates儲存html文件的位置,

另一個名為static文件夾,下面新建一個名為css的文件夾。

css文件夾下新建一個名為main.css的文件,

body {
    text-align: center;
    background-color: SlateGrey;
}
p {
    color: white;
    font-family: Shanti;
    font-size: 1.2em;
    display: inline-block;
    margin:  20px;
}
img {
    margin: 60px 0 30px 0;
    width: 250px;
}
input {
  width: 300px;
  margin: 20px 20px;
  height: 50px;
  border: none;
  border-radius: 10px;
  font-family: Shanti;
  font-size: 1.3em;
  text-align: center;
}
input:focus {
    outline: none;
    border: solid 5px #00FFCE;
}
#greet {
    background-color: PaleVioletRed;
    border:  none;
    width:  200px;
    color: white;
}
#greet:hover {
    background-color: MediumVioletRed;
}

templates文件夾里新建一個名為index.html的文件,

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Say Hello</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
</head>
<body>
    <img src="https://images.cpolar.com/img/202311271456089.png">
    <br>
    <form action="greet" method="post">
        {% for message in get_flashed_messages() %}
             <p>{{ message }}</p>
         {% endfor %}
        <br>
        <input type="text" name="name_input">
        <br>
        <input type="submit" value="GREET" id="greet">
    </form>
</body>
</html>

SAYHELLO文件下新建一個名為Procfile的文件,

web: gunicorn app:app

SAYHELLO文件下新建一個名為app.py的文件,

from flask import Flask, render_template, request, flash
app = Flask(__name__)
app.secret_key = "manbearpig_MUDMAN888"
@app.route("/")
def index():
	flash("what's your name?")
	return render_template("index.html")
@app.route("/greet", methods=['POST', 'GET'])
def greeter():
	flash("Hi " + str(request.form['name_input']) + ", great to see you!")
	return render_template("index.html")

SAYHELLO文件下新建一個名為requirements.txt的文件,

certifi==2021.5.30
click==7.1.2
Flask==1.1.2
gunicorn==20.0.4
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==2.0.1
Werkzeug==1.0.1
wincertstore==0.2

在TERMINAL里啟動Flask

flask run

打開一個新的瀏覽器,輸入http://127.0.0.1:5000,進入到剛才制作的SAY Hello的打招呼界面。

可以看到剛才創(chuàng)建的問題回答:what’s your name?

點擊GREET后,彈出:HI wang,greet to see you!

這樣我們使用Flask搭建的一個基本的帶有問答形式的界面就搭建完成了,接下來我們要把這個問答界面發(fā)布到公網(wǎng),分享給別人并且在web進行前端與后端的互動。

2. 安裝Cpolar內(nèi)網(wǎng)穿透

上面在本地成功部署了Flask,并局域網(wǎng)訪問成功,下面我們安裝Cpolar內(nèi)網(wǎng)穿透工具,通過cpolar 轉發(fā)本地端口映射的http公網(wǎng)地址,我們可以很容易實現(xiàn)遠程訪問,而無需自己注冊域名購買云服務器.下面是安裝步驟:

cpolar官網(wǎng)地址: https://www.cpolar.com

使用一鍵腳本安裝命令

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

向系統(tǒng)添加服務

sudo systemctl enable cpolar

啟動cpolar服務

sudo systemctl start cpolar

cpolar安裝成功后,在外部瀏覽器上訪問9200端口 即:【http://局域網(wǎng)ip:9200】,使用cpolar賬號登錄(如沒有賬號,可以點擊下面免費注冊),登錄后即可看到cpolar web 配置界面,結下來在web 管理界面配置即可

3. 配置Flask的問答界面公網(wǎng)訪問地址

點擊左側儀表盤的隧道管理——創(chuàng)建隧道,創(chuàng)建一個Flask的cpolar公網(wǎng)地址隧道:

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
  • 協(xié)議:選擇http
  • 本地地址:5000 (局域網(wǎng)訪問的端口)
  • 域名類型:免費選擇隨機域名
  • 地區(qū):選擇China Top
  • 點擊創(chuàng)建

隧道創(chuàng)建成功后,點擊左側的狀態(tài)——在線隧道列表,查看所生成的公網(wǎng)訪問地址,有兩種訪問方式,一種是http 和https

4. 公網(wǎng)遠程訪問Flask的問答界面

使用上面的cpolar https公網(wǎng)地址在任意設備的瀏覽器訪問,即可成功看到Flask的web界面,這樣一個公網(wǎng)地址且可以遠程訪問就創(chuàng)建好了,無需自己購買云服務器,即可發(fā)布到公網(wǎng)訪問。

由于以上使用cpolar所創(chuàng)建的隧道使用的是隨機公網(wǎng)地址,24小時內(nèi)會隨機變化,不利于長期遠程訪問。

我一般會使用固定二級子域名,因為我希望將網(wǎng)址發(fā)送給別人進行問卷調(diào)查時候,就可以直接使用固定的公網(wǎng)地址進行填寫了。它是一個固定、易記的公網(wǎng)地址(例如:SayHello.cpolar.cn)因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化【ps:cpolar.cn已備案】

注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣?!綾polar.cn已備案】

登錄cpolar官網(wǎng),點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱。

保留成功后復制保留成功的二級子域名的名稱

返回登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯

image-20231127161016574

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名

點擊更新(注意,點擊一次更新即可,不需要重復提交)

更新完成后,打開在線隧道列表,此時可以看到公網(wǎng)地址已經(jīng)發(fā)生變化,地址名稱也變成了固定的二級子域名名稱的域名

最后,我們使用固定的公網(wǎng)地址訪問,可以看到訪問成功,這樣一個固定且永久不變的公網(wǎng)地址就設置好了。

配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名

:填寫保留成功的二級子域名

點擊更新(注意,點擊一次更新即可,不需要重復提交)

更新完成后,打開在線隧道列表,此時可以看到公網(wǎng)地址已經(jīng)發(fā)生變化,地址名稱也變成了固定的二級子域名名稱的域名

最后,我們使用固定的公網(wǎng)地址訪問,可以看到訪問成功,這樣一個固定且永久不變的公網(wǎng)地址就設置好了。

到此這篇關于本地部署Python Flask并搭建web問答應用程序框架實現(xiàn)遠程訪問的文章就介紹到這了,更多相關本地部署Python Flask內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python如何繪制路段時變車速熱力圖

    python如何繪制路段時變車速熱力圖

    本文通過熱力圖形式展示了24小時內(nèi)某個路段的車速變化和特定時刻某條路徑的車速情況,數(shù)據(jù)是通過Numpy隨機生成的,用以模擬真實的車速情況,文章還展示了如何利用pandas和seaborn庫中的pivot_table()和heatmap()函數(shù)生成熱力圖
    2024-09-09
  • Python打包工具PyInstaller的安裝與pycharm配置支持PyInstaller詳細方法

    Python打包工具PyInstaller的安裝與pycharm配置支持PyInstaller詳細方法

    這篇文章主要介紹了Python打包工具PyInstaller的安裝與pycharm配置支持PyInstaller詳細方法,需要的朋友可以參考下
    2020-02-02
  • selenium設置瀏覽器為headless無頭模式(Chrome和Firefox)

    selenium設置瀏覽器為headless無頭模式(Chrome和Firefox)

    這篇文章主要介紹了selenium設置瀏覽器為headless無頭模式(Chrome和Firefox),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python中類的創(chuàng)建和實例化操作示例

    Python中類的創(chuàng)建和實例化操作示例

    這篇文章主要介紹了Python中類的創(chuàng)建和實例化操作,涉及Python面向對象程序設計中類的定義、實例化、方法調(diào)用等相關操作技巧,需要的朋友可以參考下
    2019-02-02
  • python買賣股票的最佳時機(基于貪心/蠻力算法)

    python買賣股票的最佳時機(基于貪心/蠻力算法)

    這篇文章主要介紹了python買賣股票的最佳時機(基于貪心/蠻力算法),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • pandas增加列的七種方法總結

    pandas增加列的七種方法總結

    這篇文章主要為大家詳細介紹了python中pandas增加列的七種常用方法,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以參考一下
    2023-11-11
  • 使用Python獲取公眾號下所有的文章

    使用Python獲取公眾號下所有的文章

    我比較喜歡看公眾號,有時遇到一個感興趣的公眾號時,都會感覺相逢恨晚,想一口氣看完所有歷史文章。本文主要介紹了使用Python獲取公眾號下所有的文章,感興趣的可以了解一下
    2021-06-06
  • python 操作sqlite數(shù)據(jù)庫的方法

    python 操作sqlite數(shù)據(jù)庫的方法

    sqlite的官網(wǎng) sqlite.org/index.html SQLite 作為一個SQL數(shù)據(jù)庫引擎,是由C語言實現(xiàn)的,又小又快,具有高可靠性且功能齊全。 作為嵌入式數(shù)據(jù)庫,在移動設備中使用非常廣泛且方便。本文講解如何使用python操作sqlite數(shù)據(jù)庫
    2021-06-06
  • 使用pandas對兩個dataframe進行join的實例

    使用pandas對兩個dataframe進行join的實例

    今天小編就為大家分享一篇使用pandas對兩個dataframe進行join的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python字符串逐字符或逐詞反轉方法

    Python字符串逐字符或逐詞反轉方法

    這篇文章主要介紹了Python字符串逐字符或逐詞反轉方法,本文對逐字符或逐詞分別給出兩種方法,需要的朋友可以參考下
    2015-05-05

最新評論

闽清县| 分宜县| 天水市| 陆川县| 澄迈县| 剑河县| 南华县| 德江县| 巴东县| 雅安市| 和平县| 和田市| 罗山县| 嵩明县| 九江市| 中方县| 渭源县| 龙州县| 铜川市| 武山县| 祁阳县| 法库县| 镇安县| 宜昌市| 玉环县| 瑞金市| 石台县| 福建省| 石阡县| 明星| 安义县| 尚义县| 安乡县| 上杭县| 巨鹿县| 鄯善县| 新昌县| 肇庆市| 濮阳市| 东阳市| 青铜峡市|