0
因此,默認的Django User
模型允許用戶名有一些奇怪的字符 - 例如,我可以創建一個名爲'@。+ -_'的用戶。不過,我製作了一個用戶個人資料頁面,其網址取決於用戶名。我想使用的用戶名,而不是user_ID的,因爲它更易讀:當用戶名有奇數字符時,django用戶名相關的URL解析失敗
url(r'^public_profile/(?P<username>[\w\d]+)$',
views.public_profile,
name='public_profile'),
這對於大多數用戶工作正常,但是當用一個時髦的名稱的用戶 - 例如查找'@。+ -_',public_profile頁面失敗,出現
Reverse for 'public_profile' with arguments '('@.+-_',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['public_profile/(?P<username>[\\w\\d]+)$']
錯誤。 - >所以,我想我可以在User
模型中添加一個'slug'字段,並使用它加上url中的user_id(所以slu do不會意外碰撞),但我不知道如何修改User
模型,因爲它是django的一部分。任何想法如何做到這一點?
感謝
人。我知道評論不應該用於感謝你......但是你爲我節省了很多時間!我完全專注於錯誤的事情。 +10很好的答案。 –