代码之家  ›  专栏  ›  技术社区  ›  Jack M.

是否覆盖用户对象上的默认get_absolute_url?

  •  27
  • Jack M.  · 技术社区  · 16 年前

    我正在尝试制作一个通用的列表 django_tables get_absolute_urls() 在我的 User 对象返回:

    /users/<username>/
    

    1 回复  |  直到 16 年前
        1
  •  46
  •   Mark Lavin    11 年前

    您可以使用设置在settings.py文件中执行此操作 ABSOLUTE_URL_OVERRIDES

    ABSOLUTE_URL_OVERRIDES = {
        'auth.user': lambda u: "/users/%s/" % u.username,
    }
    

    以下是官方文件的链接: https://docs.djangoproject.com/en/stable/ref/settings/

        2
  •  0
  •   j-i-l    7 年前

    作为旁注:

    自django v1.7以来 django.contrib.auth.models.AbstractUser 不再定义 get_absolute_url() 方法(见 release notes

    get_absolute_url() 方法。

    现在有两种方法可以做到这一点:

    1. 定义一个 获取绝对url()
    2. Mark Lavin's answer 要创建(而不是覆盖) User.get_absolute_url() 通过 ABSOLUTE_URL_OVERRIDES 背景