编写自己的第一个Django应用
创建项目
- Windows环境下
1 | ### Windows环境下 |
- Linux和macOS 环境
1 | ## Linux和macOS 环境 |
好了到现在为止,我们已经创建好了自己的一个Django项目,让我们看看 startproject 创建了些什么:
1 | mysite/ |
下面我们简单的介绍上面每个文件是什么有什么作用
manage.py
:用各种方式管理 Django 项目的命令行工具__init__.py
:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包settings.py
:整个Django 项目的配置文件urls.py
:就像是地图,负责把URL模式映射到应用程序wsgi.py
:用于项目部署
启动服务器
1 | (venv)$ python manage.py runserver |
你刚刚启动的是 Django 自带的用于开发的简易服务器,它是一个用纯 Python 写的轻量级的 Web 服务器。
现在我们用浏览器访问以下https://127.0.0.1:8000/,如果看到了小火箭那么恭喜你已经成功访问项目
Django默认端口是8000,如果你想更换服务器的监听端口,那么请运行python manage.py runserver 8080
,如果你想在本地访问你服务器上的项目那么你需要执行python manage.py runserver 0:8000
,python manage.py runserver 0.0.0.0:8000
,这里的0相当于0.0.0.0
创建应用
一个项目下我们可以有多个应用,现在我们来创建自己的第一个应用
1 | (venv)$ python manage.py startapp hrs |
下面我们来看看startapp
命令创建了些什么:
1 | hrs/ |
__init__.py
: 一个空文件,告诉Python这个目录应该被认为是一个包admin.py
: 可以用来注册模型,让Django自动创建管理界面apps.py
: 当前应用的配置migrations
: 存放与模型有关的数据库信息__init__.py
: 也是一个空文件,告诉Python这个目录应该被认为是一个包
models.py
:存放应用的数据模型,即实体类及其之间的关系(MVC/MVT中的M)tests.py
: 测试应用的各种测试函数views.py
: 处理请求并返回响应的函数(MVC中的C,MVT中的V)
创建一个视图
hrs/views.py
1 | from django.http import HttpResponse |
完成后,到项目目录,修改该目录下的urls.py文件
1 | from django.contrib import admin |
注意:我们还可以为应用单独建立一个urls.py文件来映射请求的URL,如下面:
在hrs引用下创建一个urls.py
1 | from django.urls import path |
那么相应的我们在项目的urls.py文件中应当做出改变:
1 | from django.contrib import admin |
使用视图模板
在manage.py所在的同级目录下创建一个templates文件夹
接下来便是创建一个个模板页面,在这里我创建一个index.html模板页面
1 |
|
要使用模板我们要改相应的配置,切换到配置文件目录找到setting.py文件
我们需要修改TEMPLATES
的配置,代码如下所示:
1 | TEMPLATES = [ |
要渲染模板我们需要在views.py中传递参数
1 | from datetime import datetime |
到这里我们完成了一个简单的Django项目,现在我们将项目重新运行查看一下结果
1 | (venv)$ python manage.py runserver 0:8000 |