美文网首页
Python3 Django框架入门

Python3 Django框架入门

作者: WebGiser | 来源:发表于2023-06-25 16:36 被阅读0次

参考:https://zhuanlan.zhihu.com/p/98788776

参考命令:python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask

Django 是 Python 社区的两大最受欢迎的 Web 框架之一(另一个是 Flask)

  • Django MTV 框架的精髓:
    M(Model):创建数据模型,并执行数据库迁移
    T(Template):写出基本的 Django 模板,并从视图中传入数据
    V(View):在视图中访问数据库,实现业务逻辑,渲染模板,并接入路由表

安装 Django 并启用脚手架

pip install django

安装好 Django 后,我们用 Django 自带的脚手架工具 django-admin 创建项目:

django-admin startproject django_news
cd django_news

生成的项目骨架及每个文件的作用如下所示:

django_news
├── django_news              // 项目全局文件目录
│   ├── __init__.py
│   ├── settings.py          // 全局配置
│   ├── urls.py              // 全局路由
│   └── wsgi.py              // WSGI服务接口(暂时不用纠结这个是神马)
└── manage.py                // 项目管理脚本

我们使用 manage.py 来运行开发服务器(Development Server):

python manage.py runserver

Django 开发服务器可以保持开启,并且后面修改代码会自动重新加载,非常方便。后面运行其他命令时,再打开一个终端(命令行)即可。

创建第一个自定义 Django App

Django 是一个高度模块化的框架。具体而言,一个 Django 应用由多个子应用组成,我们一般称之为 App(注意不是我们常说的移动应用 APP,而是 Application 的简写),如下图所示。


image.png

Django App 的类别

Django App 一般分为三大类(根据来源):

  • 内置:即 Django 框架自带的应用,包括 admin(后台管理)、auth(身份鉴权)、sessions(会话管理)等等
  • 自定义:即用来实现我们自身业务逻辑的应用,这里我们将创建一个新闻展示应用
  • 第三方:即社区提供的应用,数量极其丰富,功能涵盖几乎所有方面,能够大大减少开发成本
    所有的 Django 应用都在 django_news/settings.py 的 INSTALLED_APPS 列表中定义:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

实现自定义 App

话不多说,让我们来创建第一个自定义 App,名称为 news:

python manage.py startapp news

生成的 news 应用文件夹结构如下所示:

news                     // news 应用目录
├── __init__.py          // 初始化模块
├── admin.py             // 后台管理配置
├── apps.py              // 应用配置
├── migrations           // 数据库迁移文件目录
│   └── __init__.py      // 数据库迁移初始化模块
├── models.py            // 数据模型
├── tests.py             // 单元测试
└── views.py             // 视图

将自定义 App 添加到全局配置

最后,我们在 settings.py 中将 news 应用加入 INSTALLED_APPS 中:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'news',
]

至此,我们已经创建了第一个 Django 应用!

Django 的路由系统

Django 的路由系统是由全局路由和子应用路由组成。简单来说,根据用户输入的 URL,全局路由表进行匹配并选择正确的子应用路由,再由所选择的子应用路由匹配并选择正确的视图(View)。整个流程如下图所示:


image.png

例如,用户访问 http://example.com/apple/buy,然后全局路由根据 /apple/buy 先选择 apple 的路由表,再从 apple 路由表中根据 /buy 选择 /buy 路由,然后执行 /buy 对应的 BuyView 视图,返回给用户结果。

相关文章

网友评论

      本文标题:Python3 Django框架入门

      本文链接:https://www.haomeiwen.com/subject/ergiydtx.html