2013-04-12 5 views

risposta

131

È possibile esaminare l'url attraverso diversi Request fields:

Un utente richiede il seguente URL:

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

In questo caso i valori degli attributi di cui sopra sarebbero i seguenti:

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/ 

È possibile aggiungere facilmente ct la parte ospite con le divisioni appropriate.

+5

Sto cercando di ottenere 'Request.root_url' e il ritorno ottengo solo' 'invece di 'http: // www.example.com/myapplication /'. O questa funzione non funziona su localhost? – Vadim

+2

@Vadim È necessario utilizzare request.root_url, non Request.root_url. – selfboot

+0

nuovo a Flask, non sapevo da dove venisse l'oggetto di richiesta e come funziona, eccolo: http://flask.pocoo.org/docs/0.12/reqcontext/ –

7

si dovrebbe provare:

request.url 

Si supponga di lavorare sempre, anche su localhost (appena fatto).

25

un altro esempio:

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

poi:

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 
Problemi correlati