Django 是 Python web框架,发音 [ˈdʒæŋɡo] ,翻译成中文叫“姜狗”。
为什么要学框架?其实我们自己完全可以用 Python 代码从0到1写一个web网站,但那样就要写网络服务、数据库读写等底层代码。而框架的作用是把这些底层基建已经搭建好了,我们只写业务逻辑即可。
举个例子,楼房就是框架,我们不关心底层的脚手架、钢筋水泥是如何搭建的,只要有了这样的框架我们就可以住进去,而里面的房间要怎么设计、装饰才是我们关心的。
1、初识Django
我使用的 Python 版本是 3.8,先执行下面语句先安装 Django
pip install Django
安装完成后,执行下面语句创建 Django 项目
django-admin startproject duma
项目的名称可以自定义,我创建的项目名是 duma。
命令执行完毕后,在当前目录会生成 duma 目录,该目录包含以下源文件。
duma/
manage.py
duma/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
简单介绍下这几个文件的作用:
-
manage.py: 管理 Django 项目的命令行工具,就像一个工具箱,后面会经常用到
-
mysite/settings.py:Django 项目的配置文件,如:配置该项目使用什么数据库、包含哪些应用等
-
mysite/urls.py:Django 项目的 URL 声明
-
mysite/asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。暂时用不到
-
mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。暂时用不到
后面的学习中,我们会使用、修改这上面的文件,那时候对他们的作用会有更深的体会。
运行下面命令,启动web服务,验证 duma 项目是否创建成功。
python manage.py runserver
执行命令,会看到有以下信息输出
Starting development server at http://127.0.0.1:8000/
在浏览器访问 http://127.0.0.1:8000/
看到上面的页面,说明项目创建成功。
接下来我们要在 duma 项目中创建一个应用(app)。一个项目里可以有多个应用,如电商项目里可以有商城应用、支付应用和会员应用等等。
执行这行命令,创建一个应用
python manage.py startapp ncov
这里创建了一个名为 ncov 的应用,用它来做一个疫情数据报告。项目根目录会发现有个 ncov 目录,包含以下文件
ncov/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
先不介绍它们的作用,这些文件后面基本都会用到,到时候会详细介绍。
2、Hello, World
“Hello, World” 是学习任何编程语言的演示程序,现在我们用 Django 实现一个“Hello, World” web应用。
首先,在 “nocv/views.py” 文件中创建 index 函数
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello, World!