首页 > 解决方案 > Django 错误“配置不当:应用标签 'fontawesome-free' 不是有效的 Python 标识符。”

问题描述

我正在尝试使用 django 托管一个网站,并安装fontawesome-free[version=5.15.3]了我在项目中使用的网站,但是当我尝试运行python manage.py makemigrations时出现此错误ImproperlyConfigured: The app label 'fontawesome-free' is not a valid Python identifier.如何解决此问题?

完整追溯:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/guitarwebsite/.virtualenvs/my-virtualenv/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/home/guitarwebsite/.virtualenvs/my-virtualenv/lib/python3.8/site-packages/django/core/management/__init__.py", line 395, in execute
    django.setup()
  File "/home/guitarwebsite/.virtualenvs/my-virtualenv/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/guitarwebsite/.virtualenvs/my-virtualenv/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/home/guitarwebsite/.virtualenvs/my-virtualenv/lib/python3.8/site-packages/django/apps/config.py", line 255, in create
    return app_config_class(app_name, app_module)
  File "/home/guitarwebsite/.virtualenvs/my-virtualenv/lib/python3.8/site-packages/django/apps/config.py", line 38, in __init__
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: The app label 'fontawesome-free' is not a valid Python identifier.

标签: django

解决方案


正如@AKX 所说,这是无fontawesome、fontawesome-pro + django >= 3.2 的已知问题。

这个快速修复有帮助。就在 INSTALLED_APPS 之前添加这个

import sys

sys.modules['fontawesome_free'] = __import__('fontawesome-free')

或者

sys.modules['fontawesome_pro'] = __import__('fontawesome-pro')

然后将"fontawesome_free"or添加"fontawesome_pro"到您的 INSTALLED_APPS

INSTALLED_APPS = [
.........
"fontawesome_free",
#or
"fontawesome_pro",
.........
]

推荐阅读