2013-04-12 71 views

回答

131

可以通過幾種Request fields檢查URL:

用戶請求以下網址:

http://www.example.com/myapplication/page.html?x=y 

在這種情況下,上述屬性的值將是以下幾點:

path    /page.html 
    script_root  /myapplication 
    base_url   http://www.example.com/myapplication/page.html 
    url    http://www.example.com/myapplication/page.html?x=y 
    url_root   http://www.example.com/myapplication/ 

您可以輕鬆地額外將主機部分與適當的分割進行比較。

+5

我試圖讓'Request.root_url'並作爲回報,我只得到'',而不是很好地格式化爲'http:// www.example.com/myapplication /'。或者這個功能在本地主機上不起作用? – Vadim

+2

@Vadim您應該使用request.root_url,而不是Request.root_url。 – selfboot

+0

新的Flask,我不知道請求對象來自哪裏以及它是如何工作的,這裏是:http://flask.pocoo.org/docs/0.12/reqcontext/ –

7

你應該嘗試:

request.url 

它想一直工作,即使在本地主機上(只是做了它)。

25

另一個例子:

request: http://127.0.0.1:5000/alert/dingding/test?x=y 

則:

request.url:     http://127.0.0.1:5000/alert/dingding/test?x=y 
request.base_url:   http://127.0.0.1:5000/alert/dingding/test 
request.url_charset:   utf-8 
request.url_root:   http://127.0.0.1:5000/ 
str(request.url_rule):  /alert/dingding/test 
request.host_url:   http://127.0.0.1:5000/ 
request.host:    127.0.0.1:5000 
request.script_root: 
request.path:    /alert/dingding/test 
request.full_path:   /alert/dingding/test?x=y