首页 / 知识
关于python:如何配置Django进行简单的开发和部署?
2023-04-16 21:22:00

How do you configure Django for simple development and deployment?我在做Django的时候经常用sqlite开发,但在实时服务器上,更强大的功能是经常需要(例如mysql/postgresql)。总是有其他的变化要对姜戈设置:不同的日志记录位置/强度,媒体路径等。 如何管理所有这些更改以使部署成为简单、自动化的流程? 更新:Django配置已经发布,这对于大多数人来说可能是一个更好的选择,而不是手工操作。 如果您愿意手动操作,我之前的回答仍然适用: 我有多个设置文件。
我把这些都和一个 这样一来,您真正需要担心的是保持 在这里查看一个示例。 就我个人而言,我在项目中使用了single settings.py,我只是让它查找它所使用的主机名(我的开发机器有以"gabriel"开头的主机名,所以我有:
在其他方面,我也有这样的事情:
等等。可读性稍差一点,但它工作得很好,省去了处理多个设置文件的麻烦。 在settings.py的末尾,我有以下内容:
这样,如果我想覆盖默认设置,我只需要将settings_local.py放在settings.py旁边。 我有两个文件。 我发现最简单的方法是: 1)使用默认设置.py进行本地开发和2)创建production-settings.py开始于:
然后只需覆盖生产中不同的设置:
有点相关,对于将django本身部署到多个数据库中的问题,您可能需要查看djangostack。您可以下载一个完全免费的安装程序,它允许您安装Apache、python、django等。作为安装过程的一部分,我们允许您选择要使用的数据库(mysql、sqlite、postgresql)。我们在内部自动化部署时广泛使用安装程序(它们可以在无人值守模式下运行)。 好吧,我使用这个配置: 在settings.py的末尾:
在locale_settings.py中:
我的settings.py文件在一个外部目录中。这样,它就不会签入源代码管理,也不会被部署重写。我把它和任何默认设置放在我的django项目下的settings.py文件中:
注意:如果您不信任local_settings.py,这是非常危险的。 除了Jim提到的多个设置文件之外,我还倾向于将两个设置放在我的settings.py文件中,分别放在代码路径和站点底部的URL的顶部 所以在移动项目时,我只需要编辑这些设置,而不需要搜索整个文件。 我还建议查看Fabric和Capistrano(Ruby工具,但它可以用于部署Django应用程序),这有助于远程部署的自动化。 这是一个旧的帖子,但我认为如果我添加这个有用的 使用Django配置 快速启动
然后在项目的settings.py或任何其他用于存储设置常量的模块中对包含的configuration s.configuration类进行子类划分,例如:
将 以及模块导入路径的 或者,当沿着Django的默认 要使django能够使用您的配置,您现在必须修改manage.py或wsgi.py脚本,以使用django配置的相应启动程序函数版本,例如使用django配置的典型manage.py如下所示:
注意在第10行中,我们不使用通用工具 这同样适用于wsgi.py文件,例如:
这里我们不使用默认的 就是这样!现在,您可以将项目与manage.py和您最喜爱的支持wsgi的服务器一起使用。 这么多复杂的答案! 每个settings.py文件都附带:
我使用该目录设置这样的调试变量(使用dev代码所在的directoy获取):
然后,每次移动settings.py文件时,debug都将为false,这是您的生产环境。 每次需要不同于开发环境中的设置时,只需使用:
我使用环境:
我相信这是一种更好的方法,因为最终您需要为您的测试环境进行特殊的设置,并且您可以很容易地将其添加到这个条件中。 我认为这取决于站点的大小,以及您是否需要从使用sqlite开始,我已经在几个较小的活动站点上成功地使用了sqlite,并且运行良好。 实际上,您可能应该考虑为您的开发和生产环境进行相同(或几乎相同)的配置。否则,像"嘿,它在我的机器上工作"这样的情况会不时发生。 所以为了自动化您的部署并消除这些WOMM问题,只需使用Docker。 |
最新内容
相关内容
linux命令行设置网卡?
linux命令行设置网卡?,系统,地址,信息,网络,工具,电脑,工作,名称,设备,网卡,linux配置网卡后,单独关掉网卡和重启网卡的命令是什么?首先用CRTlinux设置ip命令?
linux设置ip命令?,地址,系统,密码,设备,命令,服务,工具,网络,网卡,计算机,在Linux中,可以使用()命令为计算机配置IP地址。1、首先使用root用户linux7关闭服务命令?
linux7关闭服务命令?,系统,软件,服务,命令,电脑,状态,工具,管理,进程,用户,求Linux关机命令详解shutdown命令 shutdown命令用于安全关闭Linuxlinux设置命令是什么?
linux设置命令是什么?,系统,工作,信息,名称,地址,命令,在线,基础,标准,工具,linux设置开启swap交换分区基本命令(虚拟内存)1、linux调整swap的linux服务器域名命令?
linux服务器域名命令?,地址,信息,系统,网络,服务,环境,名称,网站,管理,电脑,linux临时启动域名解析服务的命令是1、在linux环境下能实现域名的服务启动linux命令?
服务启动linux命令?,服务,密码,信息,系统,名称,命令,文件,用户,下面,服务器,linux如何启动mysql服务1、首先,我们需要修改mysql的配置文件,一般linux自动部署命令?
linux自动部署命令?,软件,检测,基础,服务,代码,时间,系统,命令,框架,服务器,如何使用cobbler实现批量自动部署Linux1、修改/etc/cobbler/userslinux服务器命令框?
linux服务器命令框?,系统,情况,状态,信息,数据,软件,指标,服务,在线,工具,linux系统怎样查看服务器性能命令1、使用top命令 top命令是一个常用配置linux命令行颜色?
配置linux命令行颜色?,系统,地址,电脑,分析,代码,信息,设备,终端,颜色,命令,Linux有什么命令可以更改控制台背景色1、Linux命令行的背景默认是linux配置相关的命令?
linux配置相关的命令?,网络,地址,系统,工具,代码,状态,命令,信息,管理,初级,配置LINUX的IP命令(1)Ifconfig命令 第一种使用ifconfig命令配置网卡linux命令设置密码?
linux命令设置密码?,密码,系统,服务,软件,地址,电脑,流程,管理,用户,命令,问一个大家都想知道的问题,linux设置密码怎么弄的?连接上相应的linulinux配置网卡的命令?
linux配置网卡的命令?,网络,信息,系统,工具,代码,地址,设备,工作,电脑,最新,ifconfig配置或显示网络接口信息-linux运维1、ifconfig命令用于配