【问题标题】:"Django deprecated" error in Django-AdminDjango-Admin 中的“Django 已弃用”错误
【发布时间】:2021-07-07 17:29:51
【问题描述】:

当我使用 django-admin startproject api 时,它打开文件名 django-admin.py,代码如下所示:

#!C:\Users\Administrator\Desktop\api\venv\Scripts\python.exe 

## When the django-admin.py deprecation ends, remove this script.

import warnings
from django.core import management 

try:
    from django.utils.deprecation import RemovedInDjango40Warning
except ImportError:
    raise ImportError(
        'django-admin.py was deprecated in Django 3.1 and removed in Django '
        '4.0. Please manually remove this script from your virtual environment '
        'and use django-admin instead.'
    )

if __name__ == "__main__":
    warnings.warn(
        'django-admin.py is deprecated in favor of django-admin.',
        RemovedInDjango40Warning,
    )
    management.execute_from_command_line()

我正在使用虚拟环境。我不知道如何摆脱它。

【问题讨论】:

    标签: python python-3.x django django-admin deprecation-warning


    【解决方案1】:

    简答:

    使用 django-admin.exe 而不是 django-admin 因为 django-admin.py 已弃用。

    示例:
    django-admin.exe startproject NEW_PROJECT_NAME
    django-admin.exe startapp NEW_APP_NAME


    长答案:

    如果你使用命令 "where django-admin" (Windows) / "whereis django-admin" (Linux),你会看到大概有两个快捷方式。

    就我而言:
    C:\Program Files\Python39\Scripts\django-admin.exe
    C:\Program Files\Python39\Scripts\django-admin.py

    我认为使用 .exe 扩展文件比使用 .py python 扩展文件更快。

    可能还有其他解决方案,我没有尝试删除扩展名为“py”的文件(django-admin.py),我只是发现最快的解决方案是使用“django-admin.exe” startproject PROJECT_NAME",等等。

    【讨论】:

    • 感谢您突出显示可执行文件,但希望将其更改为代码格式。不幸的是,编辑队列已经满了,可能其他人更快地提出了这个建议。您可以使用上面的工具或inline code 之类的相应语法来做到这一点(使用这个重音:```,语法显示在鼠标悬停时的工具提示中)。
    【解决方案2】:

    如果您可以使用最新版本的 3.2,最直接的方法可能是在您的虚拟环境中卸载并重新安装 Django:

    pip uninstall Django
    pip install 'Django<4'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 2012-06-14
      • 2013-08-30
      • 1970-01-01
      • 2015-08-17
      • 2013-07-08
      相关资源
      最近更新 更多