python 的 web 开发框架最流行的有三个,Django,Flask,Tornado
Django 可以说是生态最完善的的一个框架了,使用 Django 开发甚至会感觉在学一门新的语言
Flask 之前也有尝试过,小巧灵活,但是程序员要考虑的细节太多了,反而是另外一种负担
Tornado 接触的就比较少了,异步框架,我所了解的主要是应用在 jupyter 生态
环境部署和新建项目#
Django 的环境就不细说了,可以自行搜索
我们这次要开发的是一个用于打卡系统,主要功能包括发布学习内容,学生管理,制定学习计划,学生打卡
不妨把项目名叫做 easy_talk
,我们用 Django 来实现后台,首先新建项目
django-admin startproject easy_talk_backend
此时就建立了一个 Django 项目,进入 ./easy_talk_backend
目录之后,新建一个 app
在 Django 中,app 是一种组织代码的方式。每个 Django 项目都可以由多个 app 组成,每个 app 负责处理项目中特定的功能。通常一个 app 会包含以下内容:
- models.py:定义 app 的数据模型。
- views.py:处理用户请求并返回响应。
- urls.py:定义 app 的 URL 配置。
- templates/:存放 HTML 模板。
- static/:存放 CSS、JavaScript 等静态文件。
使用 app 的好处是可以使代码更易于组织、维护和重用,可以将多个 app 轻松地组合成一个更大的项目。
新建 app,就叫 study
模块吧
python manage.py startapp study
这时候,./easy_talk_backend/study
目录下就是该 app 对应的代码呢,包含 url、视图、model、html 等
需要修改 ./easy_talk_backend/settings.py
,注册我们的模块,
INSTALLED_APPS = [
'django.contrib.admin',
'...'
'study',
]
默认 Django 会使用 sqlite 来存储数据,我们也不做修改,直接运行来初始化 db
python manage.py makemigrations
python manage.py migrate
新建一个超级用户
python manage.py createsuperuser
运行我们的项目
python manage.py runserver
此时访问就能看到 Django 默认的首页了,访问 /admin
路由可以登录到 Django 自带的后台,用我们刚刚创建的用户和密码即可登录