在 Django 身份验证中设置 `get_absolute_url`
Set `get_absolute_url` in Django auth
我正在使用 Django 的内置身份验证模型。
如何设置 get_absolute_url
而不用自定义身份验证模型替换整个身份验证模型?
您可以继承内置模型,例如User
。
class Author(User):
def get_absolute_url(self):
return what_you_want
更新
我的第一个答案和接受的一样,但在和提问者沟通后,我做了一些修改。但为什么我总是被否决?请先看评论
您需要替换用户模型。但是你可以简单地继承自AbstractUser
,它已经为你定义了所有的字段,所以你只需要覆盖你想要的方法:
class MyUser(AbstractUser):
def get_absolute_url(self):
return ...
然后在 settings.py 中执行 AUTH_USER_MODEL = 'my_app.MyUser'
,就可以了。
我正在使用 Django 的内置身份验证模型。
如何设置 get_absolute_url
而不用自定义身份验证模型替换整个身份验证模型?
您可以继承内置模型,例如User
。
class Author(User):
def get_absolute_url(self):
return what_you_want
更新
我的第一个答案和接受的一样,但在和提问者沟通后,我做了一些修改。但为什么我总是被否决?请先看评论
您需要替换用户模型。但是你可以简单地继承自AbstractUser
,它已经为你定义了所有的字段,所以你只需要覆盖你想要的方法:
class MyUser(AbstractUser):
def get_absolute_url(self):
return ...
然后在 settings.py 中执行 AUTH_USER_MODEL = 'my_app.MyUser'
,就可以了。