我想對如何確定URL是否可用作對象的第一級url路徑的問題進行排序。例如:如果以前沒有用戶名_1,www.myapp.com/username_1將可用。在Django中作爲第一級URL路徑對象的動態名稱
我發現的一個解決方案是this,但解決方案不正確。驗證部分:
def clean_username(self):
username = super(NewRegistrationForm, self).clean_username()
try: resolve(urlparse('/' + username + '/')[2])
except Resolver404, e:
return username
raise ValidationError(_(u'This username does not create '
u'a valid URL. Please choose '
u'another'))
將始終引發錯誤。它認爲需要有一種方法來檢查URL是否返回404。我可以使用urllib但是我想知道是否有更好的解決方案來解決這個問題?
非常感謝。
你只是想確保用戶名輸入網址中使用時,會有效嗎?什麼是URL的正則表達式?爲什麼你不能僅僅匹配它呢? – jproffitt
只需創建一個普通的url並讓視圖返回一個404如果用戶不存在? – Wolph
@沃爾夫我正在那樣做。問題是弄清楚當用戶註冊一個特定的用戶名時,URL是否返回404。我匹配的url模式是:url(r'^(?P [ - \ w] +)/ $',profile_view,{},'profile') –