如何运行Django开发服务器

164 阅读3分钟

How To Run Django Development Server

一旦你建立了一个新的Django项目并了解了基本的文件结构,你就可以开始使用内置的Django开发服务器。Django开发服务器提供了一个很棒的本地开发服务器,开发者可以利用它来预览代码更新和测试由Django驱动的网站的功能。不需要担心配置虚拟机,或者配置Docker,尽管你可以选择这个路线。很多时候,非常方便的可以胜任的Django开发服务器就足以让你开始运行基本的功能。在本教程中,我们将学习一点关于Django的本地开发服务器的知识。


管理.py

内置的开发服务器是任何Django项目中manage.py文件所提供的一部分。要运行开发服务器,你需要导航到存放你的Django项目的项目目录。如果你愿意,可以在Visual Studio代码中点击终端->新终端,这样就可以完成。

Django terminal from visual studio code

你会注意到在Visual Studio Code中显示了一个集成终端的新区域,你可以在那里输入命令。

vs code terminal django


python manage.py runserver

在终端,我们可以使用以下语法运行一个特殊的命令:python manage.py runserver

这样做的目的是利用你机器上的Python安装,从终端运行manage.py文件,同时还指定了runserver的子命令。runserver命令是 Django 的 manage.py 文件的一个内置子命令,它将为这个特定的 Django 项目启动一个开发服务器。现在让我们继续运行这个命令。

myproject $python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 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.
June 07, 2021 - 16:43:35
Django version 3.2.4, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

终端的输出证实了一个HTTP服务器实际上现在正在环回IP地址(127.0.0.1)的8000端口上运行。为了确认这一点,我们可以将我们的网络浏览器指向这个地址,我们应该看到一个Django网络框架的欢迎页面,如图所示。

django running development server


终端调试反馈

当我们使用网络浏览器向本地开发服务器发出请求时,我们可以在终端上看到关于应用程序中发生的有价值的反馈。下面我们看到的输出显示了一系列的GET请求来渲染欢迎的Django网页。

[07/Jun/2021 16:46:26] "GET / HTTP/1.1" 200 10697
[07/Jun/2021 16:46:27] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[07/Jun/2021 16:46:27] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[07/Jun/2021 16:46:27] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
Not Found: /favicon.ico
[07/Jun/2021 16:46:27] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876

新的Sqlite文件

当第一次运行Django开发服务器时,将在Django项目目录下创建一个新文件,名称为db.sqlite3。这是一个新的文件,用于保存SQLite安装的数据库。SQLite是一个软件库,它提供了一个关系数据库管理系统,在设置、数据库管理和所需资源方面都很轻。SQLite是独立的,无服务器的,零配置的,并且是事务性的。这使得它非常适合在本地构建应用程序,甚至可以用于较小规模的生产网站。我们可以在Visual Studio Code中看到这个新创建的文件。

sqlite file created during runserver django

当我们开始做一个新的Django项目时,我们就可以在网络浏览器中改变URL,以预览和测试那些新页面的功能。开发服务器是一个持续的过程,将继续运行,直到你手动退出这个过程。要做到这一点,你需要在终端输入CTRL和C,然后按回车键,使服务器停止。