跳转至

2. 开始第一个项目

安装

1
pip install django==4.2.18

我用的是这个版本

创建项目

首先找一个文件夹,用于存储这个项目的代码。

然后,执行下面的指令用于生成一个新的项目模板。

1
django-admin startproject <project_name>

project_name: 项目名称 (本教程使用 myweb 作为项目名称)

Note

以后如无特殊说明,类似于 <example> 由中括号扩起的内容为可替换内容,且中括号包括在内。

执行指令后,你会发现,当前目录出现了名为 myweb 的文件夹,其目录结构为:

1
2
3
4
5
6
7
8
myweb
 |--myweb
 |    |--__init__.py
 |    |--asgi.py
 |    |--settings.py  配置
 |    |--urls.py      路由
 |    |--wsgi.py
 |--manage.py         命令行管理工具

其中,先知道这三个文件就足够了,其中里面的 myweb 文件夹是作为 Python 的一个库存在的。

现在在外部的 myweb 文件夹下运行 python3 manage.py runserver 就可以运行一个临时的测试服务。如果正常的话会显示以下信息,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

Django version 4.2.18, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Warning

注意!这是测试服务,不可用于生产环境!

Note

会自动重新加载的服务器 runserver,用于开发的服务器在需要的情况下会对每一次的访问请求重新载入一遍 Python 代码。所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器。

创建应用

首先,我们需要清楚项目和应用的关系。

应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。使得应用具有可插拔的特性。

现在创建你的第一个应用

1
python3 manage.py startapp <app_name>

app_name: 应用名称 (此教程使用 blog)

现在你就成功的创建了一个应用,根目录下会多一个名为 blog 的文件夹。

1
2
3
4
5
6
7
8
9
blog
  |--__init__.py
  |--admin.py  管理站点的配置
  |--apps.py
  |--migrations 存迁移文件的文件夹
  |     |--__init__.py
  |--models.py 数据库模型
  |--tests.py
  |--views.py 视图

至此,你已经成功创建了第一个 Django 项目和 APP。这是成功的第一步。

“在不远的将来,注定会有很多人重走你当年走过的路。”

“他们可能半途离去,也可能走得比你更远,但都有一个同样微不足道的开始。”