django项目部署到活动(暂存)站点有多痛苦?
我的一个小django项目进展很快,当然,我正在本地开发。 但是,由于我以前从未使用过django,我不知道上传它并在生产服务器上测试它意味着什么。我很好奇,因为我非常渴望在现场测试早期版本 我知道有这样一份文件,我认为它会非常有用: 但是,在部署之前、期间和之后,我应该考虑哪些细节? 有什么建议或最佳实践吗django项目部署到活动(暂存)站点有多痛苦?,django,web-deployment,Django,Web Deployment,我的一个小django项目进展很快,当然,我正在本地开发。 但是,由于我以前从未使用过django,我不知道上传它并在生产服务器上测试它意味着什么。我很好奇,因为我非常渴望在现场测试早期版本 我知道有这样一份文件,我认为它会非常有用: 但是,在部署之前、期间和之后,我应该考虑哪些细节? 有什么建议或最佳实践吗 谢谢。让您的开发/测试环境尽可能与您的部署环境相匹配。这意味着使用PostgreSQL和mod_wsgi代替SQLite和内置服务器。这个软件是免费的,所以你没有理由不使用它。我认为很大程
谢谢。让您的开发/测试环境尽可能与您的部署环境相匹配。这意味着使用PostgreSQL和mod_wsgi代替SQLite和内置服务器。这个软件是免费的,所以你没有理由不使用它。我认为很大程度上取决于数据库模型的改变。Django可以使用syncdb添加新的列,或者生成一个脚本来执行此操作,但它不会删除列,而且我认为它不会从数据库中删除外键约束,即使它们不再适用
因此,数据库迁移最好是编写脚本,并在生产数据库的副本或与生产数据非常相似的数据集(当然是相同的模式)上进行测试。如果在域的子目录上提供站点,则可能会遇到问题:避免手动编写绝对URL,而是使用标记 如果依赖数据库中的初始数据,请使用
如果您的服务器将用于多个站点,请考虑打包站点以避免与其他站点的依赖性冲突。
你也应该在你的DEV和生产服务器中使用相同的数据库系统来避免意外。
使用一些类似的方法来移除数据库迁移的痛苦,如果你有一个相当复杂的项目(或者有时间去学习这些工具),考虑一些类似的或部署的事情。因为它们将允许轻松复制脚本部署。
该建议适用于任何和所有语言的任何和所有开发/验收环境:)谢谢,这绝对是一个好建议。我在内置服务器和sqlite上运行:D+1-我使用内置服务器+sqlite进行快速原型设计,但我建议使用“real”配置一组匹配的开发+登台/测试+生产环境在mod_wsgi上开发时自动重新加载代码更改的方法:如何使用syncdb添加新列?这是一项新功能吗?我很难只将一个答案标记为正确。。。我希望这是一个维基问题。欢迎更多的回答。谢谢,还有很好的建议。我正在使用url标签。固定设施还不能让它工作。