在flask中,我有一個before_request
函數,它執行一些檢查並在必要時將用戶返回到其他url。用正則表達式更改url flask的路徑
我有類似於下面的例子在那裏我得到request_url
我現在想這個改變從東西:https://www.example.com:5000/user/profile/
到https://www.example.com:5000/us/user/profile/
@app.before_request
def check_location():
country = request.cookies.get('country')
if country != g.country:
url = request.url
url = re.sub('.com[^\/]*', '.com/us', url)
return redirect(url, 301)
我嘗試了一些正則表達式,但使用開發服務器用的時候,這並不工作港口。所以我的問題是:
- 我該如何編寫這個正則表達式更好的方式來獲得更好的匹配。
- 這可以用正則表達式來處理嗎?還是Flask有更好的方法?
這個請求是來自您的應用程序還是來自外部?因爲如果它是前者,爲什麼不在第一個地方添加語言,而沒有使用're'來解決所有問題? 。? –
@IronFist外面。如果用戶來自美國,並點擊英文網店中的谷歌地址,我將需要重定向他們?也許有更好的方法呢? – lennard