collectstatic, eError: 'NoneType' 对象没有属性 'split'



我尝试将wagtail开发项目部署到digitalocean。有一次我在服务器上运行这个命令:

python manage.py collectstatic——settings=mysite.settings.production

我得到以下错误信息

ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS").split(",")
AttributeError: 'NoneType' object has no attribute 'split'

我遵循教程中的命令部署到DO

我尝试了不同类型的组合,有(',')和没有分割。IP/*/的组合或没有。然后我尝试了一个空wagtail项目,结果是相同的。

任何回报/帮助将是非常感激的。

错误信息中显示的行:

ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS").split(",")

是您(或其他人…)在某个时候放在设置文件中的东西,告诉它不要在设置中直接定义ALLOWED_HOSTS,而应该从djjango_allowed_hosts系统变量中拾取。您链接到的教程不包括此设置。

如果你想保留这个设置,那么你需要找出如何在DigitalOcean上设置环境变量-它可能与教程设置djjango_settings_module的方式相同。否则,您应该找到并删除这一行,只留下直接设置ALLOWED_HOSTS的一行:

ALLOWED_HOSTS = ['mydomain.example.com']

如果您的环境文件设置正确,下面将解决问题:

环境:

DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]

Settings.py

ALLOWED_HOSTS = os.environ.get('DJANGO_ALLOWED_HOSTS', '').split()

你最好了解一下Django settings模块的基本设置,上面的错误表明你没有将ALLOWED_HOSTS设置为任何值,如果你只是在测试,你应该将其设置为["*"],否则,你将设置为你在这个项目/服务器上托管的主机名,如:

ALLOWED_HOSTS = ['domainname.com', 'domain2.net', 'www.domain.com']

只有,在这种情况下,python可以找到项并对其应用split方法,当然,当设置ALLOWED_HOSTS中没有项时,意味着设置为None,并且NoneType对象根本没有属性。

相关内容

  • 没有找到相关文章

最新更新