Python 如何为Django设置本地开发环境

Python 如何为Django设置本地开发环境,python,django,Python,Django,pythonweb开发新手的问题在这里。我来自PHP/Laravel,这里有Homestead,它是为本地开发预先配置的流浪者箱。在所谓的Homestead文件中,您可以配置所有内容,例如Web服务器、数据库或PHP版本。Django是否有类似的预配置开发环境 我已经在谷歌上搜索过了,似乎没有任何官方的或广泛使用的Django流浪者邮箱。官方的Django教程甚至会告诉您如何安装和设置Apache和首选数据库。每次您想要创建一个新的Django项目时,都需要做大量的工作,尤其是当这些项目在不同的

pythonweb开发新手的问题在这里。我来自PHP/Laravel,这里有Homestead,它是为本地开发预先配置的流浪者箱。在所谓的Homestead文件中,您可以配置所有内容,例如Web服务器、数据库或PHP版本。Django是否有类似的预配置开发环境

我已经在谷歌上搜索过了,似乎没有任何官方的或广泛使用的Django流浪者邮箱。官方的Django教程甚至会告诉您如何安装和设置Apache和首选数据库。每次您想要创建一个新的Django项目时,都需要做大量的工作,尤其是当这些项目在不同的生产环境中运行时。我找到的所有其他教程都只是解释如何使用venv或类似工具设置虚拟环境。但这对我来说似乎还不够。显然,您需要的是一个尽可能接近您的生产环境的开发环境,因此您需要某种虚拟机

我现在有点困惑。你是否只需要抓起一个普通的Ubuntu(或任何其他操作系统)漫游盒,然后自己安装所有东西?除了别的东西,你根本不用流浪汉吗?我错过了什么,Python web开发工作流程完全不同了吗?

这有帮助吗

$python3-m venv my#u env#创建您的虚拟环境
$source my_env/bin/activate#您安装的任何软件包都将在此环境中
$pip install-r requirements.txt#也可以独立安装软件包
$deactivate#离开孤立的环境
这里是

这有帮助吗

$python3-m venv my#u env#创建您的虚拟环境
$source my_env/bin/activate#您安装的任何软件包都将在此环境中
$pip install-r requirements.txt#也可以独立安装软件包
$deactivate#离开孤立的环境

这里是Django中典型的本地开发,它只使用内置的web服务器和SQLite数据库。启动并运行的步骤包括:

  • 确保已安装所需的Python版本
  • 创建一个虚拟环境,将您的项目所需的库与系统的其余部分隔离开来(强烈建议使用此选项,我实际上建议使用)
  • 可能通过pip安装Django
  • 运行
    manage.py runserver
    ()

  • 这就差不多了,足够当地发展了。您需要注意的是,如果您遇到了差异非常重要的地方,那么您需要建立目标数据库,并直接针对它进行开发。如果对您有意义的话,这可能发生在Docker容器中。但是在开发过程中没有理由将Django放入容器中,除非您的项目特别复杂,并且需要模拟某些内置服务器无法模拟的条件。

    Django中典型的本地开发只使用内置web服务器和SQLite数据库。启动并运行的步骤包括:

  • 确保已安装所需的Python版本
  • 创建一个虚拟环境,将您的项目所需的库与系统的其余部分隔离开来(强烈建议使用此选项,我实际上建议使用)
  • 可能通过pip安装Django
  • 运行
    manage.py runserver
    ()

  • 这就差不多了,足够当地发展了。您需要注意的是,如果您遇到了差异非常重要的地方,那么您需要建立目标数据库,并直接针对它进行开发。如果对您有意义的话,这可能发生在Docker容器中。但是,在开发过程中,没有什么理由将Django放入容器中,除非您的项目特别复杂,并且需要模拟某些内置服务器无法模拟的条件。

    我知道如何在Python中设置虚拟环境,我的问题更多的是如何设置“整个”开发环境,包括操作系统,web服务器、数据库等。我知道如何在Python中设置虚拟环境,我的问题更多的是关于如何设置“整个”开发环境,包括操作系统、web服务器、数据库等。这不是我希望得到的答案,但我想当时没有预先准备好的环境。但它真的能和Django ORM一起工作吗?我在PHP ORM方面的经验是,如果您使用的数据库与生产中使用的不同,那么很快就会遇到问题。Django的ORM非常健壮。同样,这些差异有很好的文档记录,您应该仔细阅读这些文档,以了解何时使用不同数据库的功能。如果您坚持使用抽象QuerySet API,则很少会遇到差异。如果您使用的是原始SQL,那么所有的赌注显然都没有了。对于大多数CRUD应用程序,如果不使用特定数据库中所有模糊的非标准功能,您可能不会遇到任何问题。当然可以。我将尝试一下内置的web服务器,看看我能走多远。这不是我所希望的答案,但我想那时没有预先准备好的环境。但它真的能和Django ORM一起工作吗?我在PHP ORM方面的经验是,如果您使用的数据库与生产中使用的不同,那么很快就会遇到问题。Django的ORM非常健壮。同样,这些差异有很好的文档记录,您应该仔细阅读这些文档,以了解何时使用不同数据库的功能。如果您坚持使用抽象QuerySet API,则很少会遇到差异。如果您使用的是原始SQL,那么所有的赌注显然都没有了。对于大多数CRUD应用程序,如果不使用特定数据库中所有模糊的非标准功能,您可能不会遇到任何问题。当然可以。我给你打电话