架设Django 开发环境

现在,你知道什么是Django。那么我们将向你展示如何在Windows,Linux(Ubuntu)和Mac OSX上设置和测试Django开发环境—无论你常用哪种操作系统,本文应该都能让你开始开发Django应用程序。

先备知识: 知道如何打开终端或命令行。了解如何在计算机的操作系统上安装软件包。
目标: 在你的计算机操作系统上运行Django(2.0)开发环境。

Django 开发环境概览

Django使你轻松设置自己的电脑,以便开始开发网络应用。这部分介绍在开发环境可以取得什么,并概述了部分设置和配置选项。本文的其余部分,介绍了在Ubuntu,Mac OS X和Windows上,安装Django开发环境的推荐方法,以及如何测试。

什么是Django 开发环境?

开发环境是在本地计算机上安装Django,你可以在将Django 部署到生产环境之前,用于开发和测试Django 应用程序。

Django 本身提供的主要工具,是一组用于创建和使用Django 项目的Python 脚本,以及可用于在你的计算机的浏览器上,测试本地(即,你的计算机,而不是外部Web 服务器)Django 网络应用程序的简单开发网路服务器。

还有其他外部工具,它们构成了开发环境的一部分,我们将不再赘述。这些包括文本编辑器text editor或编辑代码的IDE,以及像Git这样的源代码控制管理工具,用于安全地管理不同版本的代码。我们假设你已经安装了一个文本编辑器。

什么是Django设置选项?

Django如何在安装和配置方面非常灵活。Django可以:

  • 安装在不同的操作系统上。
  • 可以一起使用Python 3 和Python 2.
  • 通过Python包索引(PyPi)安装,和在许多情况下主机的包管理器应用程序。
  • 配置为使用几个数据库之一,可能需要单独安装和配置。
  • 运行在主系统Python环境中或在单独的Python虚拟环境中运行。

每个选项都需要略微不同的配置和设置。以下小节解释了你的一些选择。对于本文的其余部分,我们将介绍Django在少见的操作系统上的设置,考量该模块的其余部分。

注意 :其他可能的安装选项在官方Django文档中介绍。相应文件点击这里

支持哪些操作系统?

几乎任何可以运行Python编程语言的机器可以运行Django网络应用程序:Windows,Mac OSX,Linux/Unix,Solaris,仅举几例。几乎任何计算机都应该在开发过程中运行Django所需的性能。

在本文中。我们将提供Windows,Mac OS X和Linux/Unix的说明。

你应该使用什么版本的Python?

我们建议您使用最新版本- 在编写本文时,这是Python 3.7。

如果需要,可以使用Python 3.4或更高版本(将来的版本中将删除Python 3.4支持)。

注意 : Python 2.7不能与Django 2.0一起使用(Django 1.11.x系列是最后一个支持Python 2.7的系列)。

我们在哪里下载Django?

有三个地方可以下载Django:

  • Python包含库(PyPi),使用pip工具.这是获取最新稳定版本的Django的最佳方式.
  • 使用计算机软件包管理器中的版本。与操作系统捆绑在一起的Django的分发提供了一种熟悉的安装机制。请注意,打包版本可能相当旧,只能安装到系统Python环境中(可能不是你想要的)。
  • 可以从源代码获取并安装的最新版本的Python。这不是推荐给初学者,但是当你准备好开始贡献给Django本身的时候,它是必需的。

本文介绍如何从PyPi安装Django,从获得最新的稳定版本。

哪个数据库?

Django支持四个主要数据库(PostgreSQL,MySQL,Oracle和SQLite),还有一些社区库,可以为其他流行的SQL和NOSQL数据库,提供不同级别的支持。我们建议你为生产和开发,选择相同的数据库(尽管Django使用其对象关系映射器(ORM)抽像出许多数据库差异,但是仍然存在可以避免的潜在问题  ).

对于本文(和本模块的大部分),我们将使用将数据存放在文件中的SQLite数据库。SQLite旨在用作轻量级数据库,不能支持高级并发。然而,这确实是唯读的应用程序的绝佳选择。

注意  :当你使用标准工具(django-admin)启动你的网站项目时,Django将默认配置为使用SQLite。用来入门,这是一个很好的选择,因为它不需要额外的配置和设置。

安装到整个本机系统还是Python虚拟环境中?

安装Python3时,您将获得一个由所有Python3代码共享的单一全局环境。虽然您可以在环境中,安装任何您喜欢的Python软件包,但您一次只能安装每个软件包的一个特定版本。

注意 :安装到全局环境中的Python应用程序可能会相互冲突(即,如果它们依赖于同一程序包的不同版本)。

如果您将Django安装到默认/全局环境中,那么您将只能在计算机上,定位一个版本的Django。如果您想要创建新网站(使用最新版本的Django)同时仍然维护依赖旧版本的网站,这可能是一个问题。

因此,经验丰富的Python / Django开发人员,通常在独立的Python虚拟环境中,运行Python应用程序。这样可以在一台计算机上,实现多个不同的Django环境。Django开发团队本身建议您使用Python虚拟环境!

本模块假设您已将Django安装到虚拟环境中,我们将向您展示如何做。

安装Python 3

为了使用Django,你需要安装Python3.同样你需要Python包管理工具    —  pip3  —用来管理(安装,更新和删除)Django和其他Python应用程序使用的Python软件包/库。

本书简要说明如何根据需要检查什么版本,并根据需要安装新版本,适用于Ubuntu Linux 16.04, Mac OS X, and Windows 10。

注意  :根据你的平台,您还可以从操作系统自己的软件包管理器或其他机制安装Python / pip。对于大多数平台,您可以从https://www.python.org/downloads/下载所需的安装文件,并使用适当的平台特定方法进行安装。

Ubuntu 18.04

Ubuntu Linux 18.04 LTS默认包含Python 3.6.5。您可以通过在bash终端中运行以下命令来确认:

python3 -V
 Python 3.6.5

然而,在默认情况下,为Python 3(包括Django)安装软件包的Python包管理工具不可用。可以使用以下方式将pip3安装在bash终端

sudo apt install python3-pip

macOS X

Mac OS X "El Capitan" 不包括Python 3.你可以通过在bash终端中运行一下命令来确认:

python3 -V
  -bash: python3: command not found

你可以轻松从python.org安装Python 3(以及pip3工具):

  1. 下载所需的安装程序:
  1. 点击https://www.python.org/downloads/
  2. 选择Download Python 3.7.0按钮(确切的版本号可能不同).
  • 使用Finder找到文件,然后双击包文件。遵循安装提示。
    (一般能拖拽就拖拽)
  • 你现在可以检查Pyhon 3来确认成功安装,如下所示:

    python3 -V
     Python 3.7.0
    

    你也可以通过列出可用的软件包来检查pip3是否安装:

    pip3 list

    Windows 10

    windows默认不安装,但你可以从python.org轻松安装它(以及pip3工具):

    1. 下载所需版本:
    1. 点击https://www.python.org/downloads/
    2. 选择Download Python 3.7.0按钮(确切的版本号可能不同).
    3. 通过双击下载的文件并按照提示安装Python

    你可以通过在命令提示符中输入以下文本来验证是否安装了Python:

    py -3 -V 
     Python 3.7.0
    

    默认情况下,Windows安装程序包含pip3(python包管理器,你可以列出安装的软件包):

    pip3 list
    

    注意 :安装程序应设置上述命令工作所需的一切。但是,如果您收到无法找到Python的消息,则可能忘记将其添加到系统路径中。您可以通过再次运行安装程序,选择“修改”"Modify",然后选中第二页上标有“将Python添加到环境变量”"Add Python to environment variables"的框来执行此操作。

    在Python虚拟环境中使​​用Django

    我们将用于创建虚拟环境的库是virtualenvwrapper(Linux和macOS X)和  virtualenvwrapper-win  (Windows),后者又使用virtualenv工具。包装工具为所有平台上的接口管理创建了一致的界面。

    安装虚拟环境软体

    Ubuntu虚拟环境设置

    安装Python和pip之后,你可以安装virtualenvwrapper(包括virtualenv)。可在此处找到官方安装指南,或按照以下说明操作。

    使用pip3安装该工具:

    sudo pip3 install virtualenvwrapper

    然后将以下行添加到shell启动文件的末尾(这是主目录中的隐藏文件名.bashrc)。这些设置了虚拟环境应该存在的位置,开发项目目录的位置以及使用此软件包安装的脚本的位置:

    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
    export PROJECT_HOME=$HOME/Devel
    source /usr/local/bin/virtualenvwrapper.sh
    

    注意 : VIRTUALENVWRAPPER_PYTHONVIRTUALENVWRAPPER_VIRTUALENV_ARGS 变量指向Python3的正常安装位置,source /usr/local/bin/virtualenvwrapper.sh指向virtualenvwrapper.sh脚本的正常位置。如果virtualenv在测试时不起作用,那么要检查的一件事是Python和脚本位于预期的位置(然后适当地更改启动文件)。

    您可以使用which virtualenvwrapper.shwhich python3.的命令找到系统的正确位置。

    然后在终端中运行以下命令重新加载启动文件:

    source ~/.bashrc

    此时您应该看到一堆脚本正在运行,如下所示:

    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/premkproject
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postmkproject
    ...
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/preactivate
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/postactivate
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/get_env_details
    

    现在,您可以使用mkvirtualenv命令创建新的虚拟环境。

    macOS X 虚拟环境设置

    在macOS X上设置virtualenvwrapper与在Ubuntu上几乎完全相同(同样,您可以按照官方安装指南或下面的说明进行操作。

    使用pip 安装virtualenvwrapper(并捆绑virtualenv),如图所示。

    sudo pip3 install virtualenvwrapper

    然后将以下几行添加到shell 启动文件的末尾。

    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export PROJECT_HOME=$HOME/Devel
    source /usr/local/bin/virtualenvwrapper.sh

    注意 : VIRTUALENVWRAPPER_PYTHON变量指向Python3的正常安装位置,source /usr/local/bin/virtualenvwrapper.sh指向virtualenvwrapper.sh脚本的正常位置。如果virtualenv在测试时不起作用,那么要检查的一件事,是Python和脚本位于预期的位置(然后适当地更改启动文件)。

    例如,对macOS进行的一次安装测试,最终在启动文件中需要以下几行:

    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
    export PROJECT_HOME=$HOME/Devel
    source /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh

    您可以使用which virtualenvwrapper.shwhich python3的命令找到系统的正确位置。

    这几行与Ubuntu相同,但启动文件是主目录中、名称不同的隐藏文件.bash_profile

    注意 :如果在查找程序中找不到要编辑的.bash-profile,也可以使用nano在终端中打开它。

    命令看起来像这样:

    cd ~  # Navigate to my home directory
    ls -la #List the content of the directory. YOu should see .bash_profile
    nano .bash_profile # Open the file in the nano text editor, within the terminal
    # Scroll to the end of the file, and copy in the lines above
    # Use Ctrl+X to exit nano, Choose Y to save the file.
    

     

    然后通过在终端中,进行以下调用,来重新加载启动文件:

    source ~/.bash_profile

    此时,您可能会看到一堆脚本正在运行(与Ubuntu安装相同的脚本)。您现在应该能够使用mkvirtualenv命令,创建新的虚拟环境。

    Windows 10 虚拟环境设置

    安装virtualenvwrapper-win比设置virtualenvwrapper更简单,因为您不需要配置工具存放虚拟环境信息的位置(有默认值)。您需要做的就是,在命令提示符中运行以下命令:

    pip3 install virtualenvwrapper-win

    现在,您可以使用mkvirtualenv命令创建新的虚拟环境

    创建虚拟环境

    一旦你安装了virtualenvwrapper或virtualenvwrapper-win,那么在所有平台上使用虚拟环境都非常相似。

    现在,您可以使用mkvirtualenv命令创建新的虚拟环境。当此命令运行时,您将看到正在设置的环境(您看到的是略微特定​​ 于平台的)。当命令完成时,新的虚拟环境,将处于活动状态-您可以看到这一点,因为提示的开头,将是括号中环境的名称(如下所示)。

    $ mkvirtualenv my_django_environment
    
    Running virtualenv with interpreter /usr/bin/python3
    ...
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/t_env7/bin/get_env_details
    (my_django_environment) ubuntu@ubuntu:~$
    

    现在,您可以在虚拟环境中,安装Django,并开始开发。

    注意 :从本文开始(实际上是本系列教学),请假设任何命令都在Python虚拟环境中运行,就像我们在上面设置的那样。

    使用虚拟环境

    您应该知道其他一些有用的命令(工具文档中有更多,但这些是您经常使用的命令):

    • deactivate — 退出当前的Python虚拟环境
    • workon — 列出可用的虚拟环境
    • workon name_of_environment — 激活指定的Python虚拟环境
    • rmvirtualenv name_of_environment — 删除指定的环境

    安装Django

    一旦你创建了一个虚拟环境,并调用了workon来输入它,就可以使用pip3来安装Django。

    pip3 install django
    

    您可以通过运行以下命令来测试Django是否安装(这只是测试Python可以找到Django模块):

    # Linux/macOS X
    python3 -m django --version
     2.0
    
    # Windows
    py -3 -m django --version 
     2.0
    

    注意 :如果上面的Windows命令没有显示django模块,请尝试:

    py -m django --version

    在Windows中,Python 3脚本通过在命令前面加上py -3来启动,尽管这可能会因具体安装而异。如果遇到任何命令问题,请尝试省略-3修饰符。在Linux / macOS X中,命令是python3

    重要提示:本教程的其余部分,使用Linux命令来调用Python 3(python3)。如果您在Windows上工作,只需将此前缀替换为: py -3

    测试你的安装

    上面的测试可以工作,但它不是很有趣。一个更有趣的测试是创建一个骨架项目并看到它工作。要做到这一点,先在你的命令提示符/终端导航到你想存储你Django应用程序的位置。为您的测试站点创建一个文件夹并浏览它。

    mkdir django_test
    cd django_test
    

    然后,您可以使用django-admin工具创建一个名为“  mytestsite  ”的新骨架站点,如图所示。创建网站后,您可以导航到文件夹,您将在其中找到管理项目的主要脚本,名为manage.py

    django-admin startproject mytestsite
    cd mytestsite

    我们可以使用manage.pyrunserver 命令,从此文件夹内运行开发Web服务器,如图所示。

    $ python3 manage.py runserver 
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    
    December 29, 2017 - 03:03:47
    Django version 2.0, using settings 'mytestsite.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    

    注意 :以上命令显示Linux / macOS X命令。此时您可以忽略有关“14个未应用的迁移”的警告!("14 unapplied migration(s)" )

    一旦服务器运行,您可以通过导航到本地Web浏览器上的以下URL来查看该站点:http://127.0.0.1:8000/你应该看到一个如下所示的网站:

    Django Skeleton App Homepage

    总结Summary

    您现在已在计算机上启动并运行Django开发环境。

    在测试部分,您还简要了解了,我们如何使用django-admin startproject,创建一个新的Django网站,并使用开发Web服务器(python3 manage.py runserver)在浏览器中运行它。在下一篇文章中,我们将扩展此过程,构建一个简单、但完整的Web应用程序。

    参阅

    本教程连结

     

    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章