gpt4 book ai didi

python - 在Django 3上变成了available_attrs的是什么?

转载 作者:行者123 更新时间:2023-12-03 16:10:43 25 4
gpt4 key购买 nike

首先,我是Django的新手,所以请对我好:D
我目前正在为Django 3改编.py文件,因为我拥有的文件与Django 2兼容。因此,对新版本进行了一些更改,并在文件中写为:

@wraps(view_func, assigned=available_attrs(view_func))
与导入:
from django.utils.decorators import available_attrs
我搜索了available_attrs的改编版,很快我发现它已被删除以用于新版本。
当我启动代码时,我有以下内容:
ImportError : cannot import name 'available_attrs' from 'django.utils.decorators'
所以我想知道我应该写些什么而不是available_attrs来使其正常工作吗?
PS:对不起,我的英语不好

最佳答案

available_attrs()仅曾经存在过,以帮助在Python 2和Python 3之间架起桥梁。Django 3.0 release notes中对此进行了说明:

Removed private Python 2 compatibility APIs

While Python 2 support was removed in Django 2.0, some private APIs weren’t removed from Django so that third party apps could continue using them until the Python 2 end-of-life.

Since we expect apps to drop Python 2 compatibility when adding support for Django 3.0, we’re removing these APIs at this time.

  • [...]
  • django.utils.decorators.available_attrs() - This function returns functools.WRAPPER_ASSIGNMENTS

如果示例行中的 @wraps()是标准 functools.wraps() decorator,那么您就可以完全删除 assigned=available_attrs(...),因为 functools.WRAPPER_ASSIGNMENTSassigned的默认值:
@wraps(view_func)
否则,直接使用 functools.WRAPPER_ASSIGNMENTS

关于python - 在Django 3上变成了available_attrs的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63377150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com