我剛剛嘗試了here這個例子,它應該顯示jquery如何通過Flask發送和獲取python函數中的數據。我把它們放在同一個目錄下,當我到localhost但計算失敗時,索引文件會顯示出來。如何燒瓶知道要查看哪個python文件?
我的問題是,這些文件之間的鏈接在哪裏?沒有提到python目錄,甚至沒有提到python文件名。我是燒瓶和JSON的總新手。我試圖找到一些教程或樣本,但他們讓我更加困惑。
這件事究竟如何工作?
@app.route('/_add_numbers')
我剛剛嘗試了here這個例子,它應該顯示jquery如何通過Flask發送和獲取python函數中的數據。我把它們放在同一個目錄下,當我到localhost但計算失敗時,索引文件會顯示出來。如何燒瓶知道要查看哪個python文件?
我的問題是,這些文件之間的鏈接在哪裏?沒有提到python目錄,甚至沒有提到python文件名。我是燒瓶和JSON的總新手。我試圖找到一些教程或樣本,但他們讓我更加困惑。
這件事究竟如何工作?
@app.route('/_add_numbers')
傳入的URL包括路徑:
http://example.com/path/on/your/server
其中example.com
是服務器的主機名和/path/on/your/server
部分對你的看法配置的路由相匹配。
@app.route('/_add_numbers')
def some_view():
# do something, returning a string, a tuple, a response object or a WSGI app
匹配文字路徑/_add_numbers
而沒有別的; Flask將運行該功能。
請注意,這不會路由到任何特定的文件,Flask不像CGI,其中每個路徑映射到CGI腳本。你仍然可以將你的視圖放到不同的Python模塊中,但是這與Flask的路由沒有任何關係。只要@app.route()
修飾符被執行(註冊路由和查看功能),當請求進來時,Flask可以再次找到它。
您可以添加變量規則,其中匹配的URL路徑的部分可以包含多於只是固定文本:
@app.route('/user/<username>')
def show_user_profile(username):
# show the user profile for that user
return 'User %s' % username
這裏的路徑可以是/user/
之後的文字,所以http://example.com/user/foobar
將導致串foobar
在傳遞給show_user_profile()
視圖。
您可以在Flask Quickstart中閱讀有關路由的更多信息。
瓶使用了Apache的國防部WSGI,
你必須安裝下列軟件包,如果你沒有他們已經:
中的tasksel 要一次 須藤安裝多個包apt-get安裝中的tasksel
燈服務器 LAMP服務器(Apache,MySQL和) 的tasksel須藤安裝燈服務器
APACH e「mod_wsgi」 啓用Apache模塊「mod_wsgi」 - sudo apt-get install libapache2-mod-wsgi - sudo a2enmode wsgi - sudo/etc/init。d/Apache2的重啓
瓶 瓶框架來實現REST風格的web服務 sudo易於得到安裝python-PIP畫中畫 安裝瓶
,那麼你必須添加端口在ports.conf您的網站: sudo的納米/etc/apache2/ports.conf
了NameVirtualHost *:5000
聽5000
然後創建一個引導這個端口到您的文件一個新的WSGI文件:然後最後
<VirtualHost *:5000>
ServerName your_server_name
Options Indexes FollowSymLinks MultiViews ExecCGI
AddHandler wsgi-script .wsgi
WSGIDaemonProcess pmvc user=www-data group=www-data threads=5
WSGIScriptAlias//path/to/project/server.wsgi
<Directory /path/to/project/>
Allowoverride All
Options Indexes FollowSymLinks MultiViews ExecCGI
WSGIProcessGroup your_server_name
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
其中Web服務進行編碼創建server.wsgi文件包含以下你的Python文件旁邊:
import sys
current_path = '/path/to/project'
if not current_path in sys.path:
sys.path.append(current_path)
from your_python_file_name import app as application
這不會回答這個問題。** Flask **路由工作?Flask如何知道要調用什麼視圖 –
注意Flask可以運行自己的服務器(儘管只適合開發),並且可以在任何WSGI服務器下運行。 ? –
這太複雜了...... @ _ @但是謝謝你! – yvonnezoe
你在使用什麼操作系統? – youssefhassan
@youssefhassan覆盆子pi raspbian。 – yvonnezoe
@youssefhassan:無論這與操作系統Flask在運行? –