2014-02-08 40 views
0

我在我的腦海裏有一個懷疑關於使用在django網址。我知道用於評論在Python中。 做完Oauth後,我得到了一個像https://callbackurl.com/#some_characters的網址。 爲了得到some_characters部分與我在我的URL配置文件中使用了下面的代碼。#在django url#字符

url(r'^(.*)$', views.get_access_token, name="get_access_token") 

我的看法是這樣的:

def get_access_token(request,token_str): 
    print token_str #prints to stdout 

,但我得到空字符串。 因此,我的解釋是,python將作爲評論,即使在網站中也不會將其視爲正常字符。 但在蟒蛇簡單的字符串的情況下,我們可以做這樣的事情:

>>> name="anku#" 
>>> name 
'anku#' 

這裏被視爲正常的字符。 那麼當url是類似於https://someurl.com/sometext#anothertext#somemoretext的情況下,如果有人想從url中捕獲sometext#anothertext#somemoretext,我猜他需要相應地設計正則表達式命令,如果他將sometext#anothertext#somemoretext作爲特性,他將只獲得sometext

是不是因爲語義上的不一致,因爲url也是python字符串? 糾正我,如果我錯了某處。 此致敬禮。

+1

問題不在於與蟒蛇治療#字符作爲註釋分隔符。您能否粘貼更相關的代碼,以便您更清楚地瞭解您如何使用OAuth身份驗證庫? – icedtrees

+0

我正在做javascript做gmail OAuth和回調url指向我的服務器,在urlmatching相關的視圖被調用後。我已經提到了從谷歌回調網址的模式。 – darxtrix

回答

0

當使用python傳遞OAuth的回調URL時,它應該進行百分比編碼,因爲像〜和#這樣的字符可能會導致問題。

一個網址,如:

https://someurl.com/sometext#anothertext#somemoretext 

應該

https://someurl.com/sometext%23anothertext%23somemoretext