所以我将我的项目从离线目录移动到Digital Ocean上的远程服务器。有什么我需要关注的吗?例如,我是否可以保持离线生成的SECRET_KEY
相同?还有什么我需要担心的吗?
django documentation应该回答这个问题:
确保生产中使用的密钥不会在其他任何地方使用,并避免将其提交给源代码管理。
此外,不要忘记set DEBUG
to False
。
请随意阅读本文档的其余部分。它会告诉你该做什么(不是硬编码你的SECRET_KEY
),如果可以包含其他有用的信息。
我建议的另一种方法是使用Ansible
或Puppet等自动化部署。
有了这样的软件,您可以轻松地:
DEBUG
值以确保它是False
。但一般来说,手动复制你的settings.py
并自己进行更改是完全可以的。只是不要忘记更改值。
是的,您可以复制settings.py
的全部内容,但首先删除SECRET_KEY
并将DEBUG设置为FALSE。
使用开发时使用的相同SECRET_KEY通常不被视为安全。你可以在settings.py中执行此操作
# SECRET_KEY = 'cg#p$g+j9tax!#a3cup@1$8obt2_+&k3q+pmu)5%asj6yjpkag'
import os
SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', 'cg#p$g+j9tax!#a3cup@1$8obt2_+&k3q+pmu)5%asj6yjpkag')
并且不要忘记设置DEBUG = False。这是另一种方法
# DEBUG = True
DEBUG = bool( os.environ.get('DJANGO_DEBUG', True) )
资料来源:https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Deployment