如何修改django auth.user 的默认get_absolute_url值
来源:互联网 发布:三国名将法宝进阶数据 编辑:程序博客网 时间:2024/04/20 09:01
#Django#User的urls设置问题在你使用了UserProfile之后将会出现一个问题,就是User Model 的get_absolute_url在django的auth app中默认是/users/<username>/, 如果你已经扩展实现了一个UserProfile的话,你可能需要使用userprofile.get_absolute_url来使用,那么你需要重新定义auth.user的绝对url了.
auth.models 中的user的get_absolute_url是这样定义的:
def get_absolute_url(self): return "/users/%s/" % urllib.quote(smart_str(self.username))
这里定死了吧,但是django还是给了方法来修改它.
方法就是:在settings.py中增加一个设置:ABSOLUTE_URL_OVERRIDES
ABSOLUTE_URL_OVERRIDES = { 'blogs.weblog': lambda o: "/blogs/%s/" % o.slug, 'news.story': lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug),}
所以对auth.user来说,要修改就按照下面的来:
ABSOLUTE_URL_OVERRIDES = { 'auth.user': lambda u: "/member/profile/%s/" % u.username, #其他的设置 }
官方文档:https://docs.djangoproject.com/en/1.1/ref/settings/#absolute-url-overrides
https://code.djangoproject.com/wiki/ReplacingGetAbsoluteUrl
- 如何修改django auth.user 的默认get_absolute_url值
- [pyweb]django的get_absolute_url函数
- Django 官方推荐的User引用 (auth.models)
- Django get_absolute_url 用法
- IDEA修改默认的user
- 关于 Django 的 URL 配置与 get_absolute_url 方法
- django 0.95修改了Auth模块
- Django Auth
- Django ModelForm修改默认的控件属性
- 基于 Django1.10 文档的深入学习(10)—— django.contrib.auth 之 User model
- django 自定义auth的中间件的验证
- Android Studio修改默认${user}
- iOS中修改WebView默认的User Agent
- iOS中修改WebView默认的User Agent
- iOS中修改WebView默认的User Agent
- Eclipse添加javadoc时候显示的默认@author ${user}修改添加javadoc时候显示的默认@author ${user}修改
- Mongodb User Auth
- Django 中如何给 User 增加额外的 Profile 信息
- 2019 数列有序
- 2020 绝对值排序
- WCF Note3 (Fault and Exception)
- 2021 发工资咯
- 2022 海选女主角
- 如何修改django auth.user 的默认get_absolute_url值
- 2023 求平均成绩
- 2024 C语言合法标识符
- android SharePrefereces的使用入门
- 2025 查找最大元素
- 2026 首字母变大写
- mysql修改字段长度(sql命令)
- 移动开发者大会次日观感
- 2027 统计元音