Django 简介

Django 框架

Django 是一个高级 Python Web 框架,鼓励快速开发和简洁实用的设计。由经验丰富的开发人员构建,它解决了 Web 开发的大部分麻烦,因此您可以专注于编写应用程序而无需重新发明轮子。

Django Logo

Django 简介

Django 是一个基于 Python 的免费开源 Web 框架,遵循模型-模板-视图 (MTV) 架构模式。它由 Adrian Holovaty 和 Simon Willison 开发,最初用于管理新闻网站,于 2005 年 7 月在 BSD 许可证下公开发布。

Django 的主要目标是简化创建复杂、数据库驱动的网站的过程。Django 强调可重用性和"可插拔性"、快速开发以及"不重复自己"(DRY) 的原则。

设计哲学

Django 遵循以下核心设计原则:

  • 松耦合
  • 更少的代码
  • 快速开发
  • 不重复自己 (DRY)
  • 明确优于隐式
适用场景

Django 非常适合各种 Web 项目:

  • 内容管理系统 (CMS)
  • 社交网络平台
  • 科学计算平台
  • 电子商务网站
  • API 后端服务

Django 主要特性

强大的 ORM

对象关系映射器,允许使用 Python 代码与数据库交互,无需编写 SQL。

自动管理界面

根据模型自动生成专业的管理后台,可快速进行 CRUD 操作。

优雅的 URL 设计

灵活的 URL 配置,支持正则表达式,可以设计任何 URL 模式。

模板系统

强大而可扩展的模板语言,支持模板继承和自定义标签。

Django 核心组件

模型 (Models)

Django 的模型是数据的单一权威来源。它包含您存储的数据的基本字段和行为。通常,每个模型映射到一个数据库表。

from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)
视图 (Views)

视图是 Django 应用程序中处理请求并返回响应的 Python 函数或类。视图通常通过模型访问数据,并加载模板返回响应。

from django.shortcuts import render
from .models import Blog

def blog_list(request):
    blogs = Blog.objects.all()
    return render(request, 'blog/list.html', {'blogs': blogs})
URL 配置

URL 配置是将 URL 模式映射到视图的简单方法。它告诉 Django 对于特定的 URL 调用哪个视图。

from django.urls import path
from . import views

urlpatterns = [
    path('blogs/', views.blog_list, name='blog_list'),
    path('blog/<int:id>/', views.blog_detail, name='blog_detail'),
]
模板 (Templates)

Django 模板是使用 Django 模板语言 (DTL) 编写的文本文件,用于生成动态 HTML 页面。它们可以包含变量和标签。

<!DOCTYPE html>
<html>
<head>
    <title>{{ blog.title }}</title>
</head>
<body>
    <h1>{{ blog.title }}</h1>
    <p>{{ blog.content }}</p>
</body>
</html>

创建 Django 项目的简单步骤

  1. 安装 Django
    pip install django
  2. 创建项目
    django-admin startproject myproject
  3. 创建应用
    cd myproject
    python manage.py startapp myapp
  4. 运行开发服务器
    python manage.py runserver