导入错误django corsheaders

zynd9foi  于 2023-04-22  发布在  Go
关注(0)|答案(9)|浏览(211)

我是一个初学者在django.我正在做项目的基础上.项目有两个阶段.我完成了第一阶段,并上传代码到亚马逊ec2示例.完成第二阶段后,我添加了一些包,如python-social-authdjango-cors-headersdjango-easy-maps,但是现在它显示了corsheaders的导入错误,这是我检查虚拟环境和corsheaders包的回溯。

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 280, in execute
translation.activate('en-us')
File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/__init__.py", line 130, in activate
return _trans.activate(language)
File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 188, in activate
_active.value = translation(language)
File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 177, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 159, in _fetch
app = import_module(appname)
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
ImportError: No module named corsheaders

有什么建议吗

a8jjtwal

a8jjtwal1#

使用pip

pip install django-cors-headers

使用pipenv

pipenv install django-cors-headers
7uhlpewt

7uhlpewt2#

试试这个。

pip install --user django-cors-headers
yyhrrdl8

yyhrrdl83#

步骤1.安装十字头:

python -m pip install django-cors-headers

步骤2.将cros-header添加到INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

步骤3.添加Cors头文件中间件:

MIDDLEWARE = [
    ...,
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...,
]

注意:请记住,您应该将CorsMiddleware放置得尽可能高,以免被其他中间件覆盖或其他中间件导致的任何行为。
步骤4.在settings.py中添加cors头:

CORS_ALLOWED_ORIGINS = [
    'http://127.0.0.1:3000',
    'http://localhost:3030',
    'yoursite.com'
]

CORS_ORIGIN_WHITELIST = [
    'http://127.0.0.1:3000',
    'http://localhost:4200',
    'yoursite.com'
]

注意:还要检查您请求的端点是否在CORS_ALLOWED_ORIGINS内。此外,避免在同一变量内使用'*',以避免任何安全漏洞。
请检查它的文档,有更多的细节和链接可以解决你的一些问题:
https://github.com/adamchainz/django-cors-headers#setup

sbdsn5lh

sbdsn5lh4#

我通过PIP安装后也遇到了同样的问题。然后我下载了Source并手动安装了django-cors-headers,之后问题就消失了。

yvgpqqbh

yvgpqqbh5#

您可能在设置中输入了错误。

INSTALLED_APPS = [
    "corsheaders"
    
]
yqlxgs2m

yqlxgs2m6#

步骤1.安装十字头:

python -m pip install django-cors-headers

步骤2.将cros-header添加到INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

步骤3.添加Cors头文件中间件:

MIDDLEWARE = [
    ...,
    'corsheaders.middleware.CorsMiddleware',
    ...,
]

步骤4.在settings.py中添加CORS_ORIGIN_WHITELIST数组:

CORS_ORIGIN_WHITELIST = [
    'http://127.0.0.1:3000',
    'http://localhost:4200',
    'http://yoursite.com'
]
vc9ivgsu

vc9ivgsu7#

如果你按照Elias普拉多的回答没有成功,请尝试在不同的端口上运行你的django服务器。对我来说,端口8000给了我问题。可能是因为我在那里运行我的工作项目。尝试端口8008成功了!

python3 manage.py runserver 8008

希望这有帮助!

fgw7neuy

fgw7neuy8#

从你的回溯中,看起来你没有在虚拟环境中运行Django应用程序。你可以做两件事:
1.在系统范围内安装django-corsheaders,以便它可用于您的应用,无论是否具有虚拟环境
1.或者激活虚拟环境并运行django应用程序(因为您已经确认虚拟环境中安装了django-corsheaders)。

bgibtngc

bgibtngc9#

您不需要安装任何东西,只需使用runserver

python manage.py runserver

相关问题