一但你安装好了 python 和 django,你就可以通过创建一个project,迈出开发django应用的第一步。
项目是 Django 实例的一系列设置的集合,它包括数据库配置(在学到第五章之前,暂无数据库相关操作)、Django 特定选项以及应用程序的特定设置。
首先新建一个工作目录,例如 E:\djproject\
,然后进入该目录。
在控制台下,转到你刚刚创建的目录(E:\djproject\
)下,运行命令django-admin.exe startproject mysite
。这样会在你的当前目录下创建一个项目(一个空目录):mysite
注意,我们假定你把 django 安装到了虚拟环境下,你则需要把虚拟环境下的 Scripts 路径加入到环境变量中,不然的话,
在 E:\djproject\
路径下找不到 django-admin.exe,会导致创建 django
项目的命令失败。当然,如果你不想配置环境变量,你也可以直接带上 django-admin.exe 的绝对路径来创建一个新项目,比如:
E:\djproject>C:\Python3\Scripts\djangoenv\Scripts\django-admin.exe startproject mysite
上面的命令同样会在 E:\djproject\
路径下创建一个 mysite 项目。注意: C:\Python3\Scripts\djangoenv\
是我的虚拟环境的路径,你只需要改成自己的就可以。
如果你的 django 是从 linux 发行版中安装的,那么,django-admin.exe
常会被 django-admin.py
替代。那么你创建
django 项目的命令将会改成: python django-admin.py startproject mysite
。
我们目前已经使用 startproject
命令在 E:\djproject\
目录下创建了一个项目 mysite,该项目下有一个和项目名称同名的文件夹 mysite(该文件夹下有
4 个文件)和一个 manage.py 文件,我们使用 Pycharm(如果不会使用 Pycharm,可以参考:安装 Pycharm),打开 mysite
项目,在 Pycharm 中,我们可以看到目录结构如下图:
我们简单分下一下所有文件代表什么意思:
init.py
:让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
settings.py
:该 Django
项目的设置或配置。查看并理解这个文件中可用的设置类型及其默认值。
urls.py
:Django 项目的 URL 设置。可视其为你的 django
网站的目录。
wsgi.py
:Django 项目生成环境下和 web 服务器(比如
nginx)对接的协议模块。只有部署到生产环境下时,我们才使用到它。
manage.py
:一种命令行工具,允许你以多种方式与该 Django
项目进行交互。键入 python manage.py help
,看一下它能做什么。
你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。
为了安装后更多的体验,让我们运行一下 django 开发服务器看看我们的准系统。
django 开发服务是可用在开发期间的,一个内建的,轻量的 web 服务。我们提供这个服务器是为了让你快速开发站点,也就是说在准备发布产品之前,无需进行产品级 Web 服务器(比如 nginx)的配置工作。开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。
如果你还没启动服务器的话,请切换到你的项目目录里 (cd mysite
),注意,我们的
django 是安装在虚拟环境中,别忘记先激活虚拟环境,然后运行下面的命令:
python manage.py runserver
执行以上命令后,你会看到输出一些信息,如下图:
这将会在端口 8000 启动一个本地服务器, 并且只能从你的这台电脑连接和访问。既然服务器已经运行起来了,现在用网页浏览器访问 http://127.0.0.1:8000/。你应该可以看到一个令人赏心悦目的 Django 欢迎页面。如下图:
在进一步学习之前,一个重要的,关于开发网络服务器的提示很值得一说。虽然 django 自带的这个 web 服务器对于开发很方便,但是,千万不要在正式的应用布署环境中使用它。在同一时间,该服务器只能可靠地处理一次单个请求,并且没有进行任何类型的安全审计。发布站点前,请参考项目部分:部署 Django 项目。
当然,我们也可以更改服务器主机的地址或端口。
默认情况下,runserver
命令在 8000 端口启动开发服务器,且仅监听本地连接。要想要更改服务器端口的话,可将端口作为命令行参数传入:
python manage.py runserver 8080
通过指定一个 IP 地址,你可以告诉服务器–允许非本地连接访问。如果你想和其他开发人员共享同一开发站点的话,该功能特别有用。0.0.0.0
这个 IP 地址,告诉服务器去侦听任意的网络接口。
python manage.py runserver 0.0.0.0:8000
完成这些设置后,你本地网络中的其它计算机就可以在浏览器中访问你的 IP 地址了。比如:http://192.168.0.104:8000/。 (注意:你将需要校阅一下你的网络配置来决定你在本地网络中的 IP 地址) linux 用户可以在命令提示符中输入 ifconfig 来获取以上信息。使用 Windows 的用户,请尝试使用 ipconfig 命令。
如果你发现启动服务器后,然后在浏览器中通过本地局域网 IP 访问,出现了如下错误,如下图:
这是因为 django 新版本加入了安全机制,我们只需要在 settings.py 文件中找到代码
ALLOWED_HOSTS = ['']
,然后改为 ALLOWED_HOSTS = ['*']
或者改为你本地的局域网 IP 即可。
重新启动 django 服务器,我们发现可爱的网页又出来了。如下图:
如果我们不想输入端口,可以使用命令把服务器的端口设置为 80(python
python manage.py runserver 0.0.0.0:80
)。这样,我们在浏览器中我们直接输入服务器的 IP 地址即可访问我们的网站,因为浏览器发现你没有输入端口,就会自动给你添上 80 端口。如下图:
好了,你已经安装好所需的一切,并且开发服务器也运行起来了,你已经准备好继续学习基础知识–视图这一章的内容了。