我想做以下事情:
- 我想更改用户 django.auth 类中的 get_absolute_url 方法。
我怎样才能做到这一点?
如果 Django User 类可以满足您的需求,您可以扩展它。来自Django.Contrib.Auth文档:
扩展 Django 的默认用户
如果您对 Django 的 User 模型完全满意并且只想添加一些额外的配置文件信息,您可以简单地继承 django.contrib.auth.models.AbstractUser 并添加您的自定义配置文件字段。此类提供默认用户的完整实现作为抽象模型。
例如:
from django.contrib.auth.models import AbstractUser
class MyUser(AbstractUser):
def get_absolute_url(self):
return '/somepath/user/%s/' % urlquote(self.username)
如果您可以使用设置get_absolute_url
覆盖此方法ABSOLUTE_URL_OVERRIDES
ABSOLUTE_URL_OVERRIDES = {
'auth.user': lambda user: "/users/%s/" % user.username,
}
覆盖其他方法需要使用 Django 1.5 中引入的可交换用户。