https://docs.djangoproject.com/en/2.1/
安装Django代码
安装说明略有不同,具体取决于您是要安装特定于发行版的软件包,下载最新的官方发行版还是获取最新的开发版本。
无论你选择哪种方式,这都很容易。
用安装正式版本pip
这是安装Django的推荐方法。
- 安装点子。最简单的方法是使用独立的pip安装程序。如果您的发行版已经
pip
安装,如果它已过时,您可能需要更新它。如果它已经过时,你会知道因为安装不起作用。 - 看看virtualenv和virtualenvwrapper。这些工具提供了独立的Python环境,比在系统范围内安装软件包更实用。它们还允许安装没有管理员权限的包。该贡献教程走过了如何创建的virtualenv。
- 创建并激活虚拟环境后,在shell提示符下输入命令 。
pip install Django
安装特定于发行版的包
检查分发特定说明,以查看您的平台/分发是否提供官方Django软件包/安装程序。分发提供的包通常允许自动安装依赖项和简单的升级路径; 但是,这些软件包很少包含最新版本的Django。
安装开发版
跟踪Django开发
如果您决定使用Django的最新开发版本,您需要密切关注开发时间表,并且您将需要关注即将发布的发行说明。这将有助于您掌握可能要使用的任何新功能,以及更新Django副本时需要对代码所做的任何更改。(对于稳定版本,发行说明中记录了任何必要的更改。)
如果您希望能够使用最新的错误修复和改进偶尔更新Django代码,请按照以下说明操作:
-
确保安装了Git,并且可以从shell运行其命令。(在shell提示符下输入以测试它。)
git help
-
查看Django的主要开发分支,如下所示:
$ git clone https://github.com/django/django.git
这将
django
在当前目录中创建一个目录。 -
确保Python解释器可以加载Django的代码。最方便的方法是使用virtualenv,virtualenvwrapper和 pip。该贡献教程走过了如何创建的virtualenv。
-
设置并激活virtualenv后,运行以下命令:
$ pip install -e django/
这将使Django的代码可导入,并且还将使
django-admin
实用程序命令可用。换句话说,你们都准备好了! -
验证
要验证Python可以看到Django,请
python
从shell中输入。然后在Python提示符下,尝试导入Django:<span style="color:#0c3c26"><span style="color:#0c4b33">>>>导入django >>> print(django.get_version()) 2.1 </span></span>
您可能安装了另一个版本的Django。
而已!
就是这样 - 你现在可以进入教程了。
编写你的第一个Django应用程序,第1部分¶
让我们通过例子来学习。
在本教程中,我们将引导您完成基本轮询应用程序的创建。
它由两部分组成:
- 一个公共站点,允许人们查看民意调查并在其中投票。
- 一个管理站点,允许您添加,更改和删除民意调查。
我们假设你已经安装了Django。您可以通过在shell提示符中运行以下命令(由$前缀表示)来告知Django已安装以及哪个版本:
$ python -m django --version
如果安装了Django,您应该会看到安装的版本。如果不是,您将收到错误消息“没有名为django的模块”。
创建项目
如果这是你第一次使用Django,你将不得不处理一些初始设置。也就是说,您需要自动生成一些建立Django 项目的代码- Django实例的设置集合,包括数据库配置,Django特定选项和特定于应用程序的设置。
从命令行cd
进入要存储代码的目录,然后运行以下命令:
$ django-admin startproject mysite
这将mysite
在当前目录中创建一个目录。如果它不起作用,请参阅运行django-admin的问题。
注意
您需要避免在内置Python或Django组件之后命名项目。特别是,这意味着你应该避免使用像 django
(这将与Django本身冲突)或test
(与内置Python包冲突)这样的名称。
这段代码应该在哪里生活?
如果您的背景是普通的PHP(不使用现代框架),那么您可能习惯将代码放在Web服务器的文档根目录下(在某个地方/var/www
)。使用Django,你不会这样做。将任何此Python代码放在Web服务器的文档根目录中并不是一个好主意,因为它可能会使人们可能通过Web查看您的代码。这对安全性不利。
将代码放在文档根目录之外的某个目录中,例如 /home/mycode
。
让我们来看看startproject
创造了什么:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
这些文件是:
- 外部
mysite/
根目录只是项目的容器。它的名字对Django来说无关紧要; 你可以将它重命名为你喜欢的任何东西。 manage.py
:一个命令行实用程序,允许您以各种方式与此Django项目进行交互。您可以manage.py
在django-admin和manage.py中阅读有关的所有详细信息 。- 内部
mysite/
目录是项目的实际Python包。它的名称是您需要用来导入其中任何内容的Python包名称(例如mysite.urls
)。 mysite/__init__.py
:一个空文件,告诉Python该目录应该被视为Python包。如果您是Python初学者,请阅读官方Python文档中有关包的更多信息。mysite/settings.py
:此Django项目的设置/配置。 Django设置将告诉您有关设置如何工作的所有信息。mysite/urls.py
:这个Django项目的URL声明; 您的Django支持的站点的“目录”。您可以在URL调度程序中阅读有关URL的更多信息。mysite/wsgi.py
:与WSGI兼容的Web服务器的入口点,用于为您的项目提供服务。有关更多详细信息,请参阅如何使用WSGI进行部署。
开发服务器¶
让我们验证您的Django项目是否有效。mysite
如果尚未更改到外部目录,请运行以下命令:
/
$ python manage.py runserver
您将在命令行中看到以下输出:
<span style="color:#0c3c26"><span style="color:#0c4b33">执行系统检查......
系统检查发现没有问题(0静音)。
您有未应用的迁移; 在应用之前,您的应用可能无法正常运行。
运行'python manage.py migrate'以应用它们。
2018年12月7日 - 15:50:53
Django 2.1版,使用设置'mysite.settings'
在<a data-cke-saved-href="http://127.0.0.1:8000/" href="http://127.0.0.1:8000/" class="reference external">http://127.0.0.1:8000/</a>启动开发服务器
使用CONTROL-C退出服务器。</span></span>
您已经启动了Django开发服务器,这是一个纯粹用Python编写的轻量级Web服务器。我们已经将它包含在Django中,因此您可以快速开发,而无需处理配置生产服务器(如Apache),直到您准备好进行生产。
现在是时候注意了:不要在类似生产环境的任何地方使用这个服务器。它仅用于开发时使用。(我们的业务是制作Web框架,而不是Web服务器。)
现在服务器正在运行,请使用Web浏览器访问http://127.0.0.1:8000/。你会看到一个“祝贺!”页面,火箭起飞。有效!
改变端口
默认情况下,该runserver
命令在端口8000的内部IP上启动开发服务器。
如果要更改服务器的端口,请将其作为命令行参数传递。例如,此命令在端口8080上启动服务器:
$ python manage.py runserver 8080
如果要更改服务器的IP,请将其与端口一起传递。例如,要监听所有可用的公共IP(如果您正在运行Vagrant或想要在网络上的其他计算机上展示您的工作,这很有用),请使用:
$ python manage.py runserver 0:8000
0是0.0.0.0的快捷方式。可以在runserver
参考中找到开发服务器的完整文档。
自动重装 runserver
开发服务器根据需要自动为每个请求重新加载Python代码。您无需重新启动服务器即可使代码更改生效。但是,某些操作(如添加文件)不会触发重新启动,因此在这些情况下您必须重新启动服务器。