跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Django Web 框架快速入门与核心实战

Django 作为 Python 主流 Web 框架,提供开箱即用的认证、后台及 ORM 能力。涵盖环境搭建、项目初始化、应用结构解析、模板渲染及数据库模型操作全流程。通过实战示例演示了从创建项目到配置 MySQL、执行迁移及基础 CRUD 开发的完整链路,适合希望快速上手 Django 后端开发的开发者参考。

DevOpsTeam发布于 2026/3/16更新于 2026/6/1926 浏览
Django Web 框架快速入门与核心实战

Django 简介

Django 是 Python 领域最成熟的 Web 框架之一,遵循'电池包含'理念。它内置了强大的 ORM、管理后台、认证系统及安全防护机制,能显著减少重复代码,让开发者专注于业务逻辑。

环境准备

确保已安装 Python 3.x 环境。访问 python.org 下载并安装,记得勾选 Add Python to PATH 以配置环境变量。随后通过 pip 安装 Django:

pip install django

验证安装:

python -m django --version

项目初始化

使用 django-admin 创建项目:

django-admin startproject myproject

进入项目目录后,启动开发服务器:

python manage.py runserver 0.0.0.0:8000

浏览器访问 http://127.0.0.1:8000 即可看到默认页面。

项目结构解析

生成的目录结构如下:

myproject/
├── manage.py       # 命令行工具入口
└── myproject/      # 项目配置包
    ├── __init__.py
    ├── settings.py # 核心配置文件
    ├── urls.py     # 路由分发
    ├── wsgi.py     # WSGI 部署入口
    └── asgi.py     # ASGI 异步支持

settings.py 是项目的中枢,包含数据库、应用列表、静态文件路径等关键配置。生产环境中务必将 DEBUG 设为 False。

创建应用

一个项目可包含多个应用(App),用于划分业务模块。

python manage.py startapp blog

在 settings.py 的 INSTALLED_APPS 中添加 'blog'。

视图与路由

在 views.py 编写处理逻辑:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, Django!")

在 urls.py 绑定路径:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

模板系统

Django 采用 MTV 模式(Model-Template-View)。模板文件通常放在 templates 目录下。

在 settings.py 中配置 TEMPLATES 的 DIRS 指向模板目录。

变量渲染使用 {{ variable }},逻辑控制使用 {% tag %}。

例如:

<h1>{{ title }}</h1>
{% if user.is_authenticated %}
    <p>Welcome, {{ user.username }}</p>
{% endif %}

常用过滤器包括 |lower(小写)、|date(日期格式化)、|default(默认值)等。

数据库与 ORM

Django 内置 ORM,无需手写 SQL 即可操作数据库。

默认使用 SQLite,生产环境建议切换至 PostgreSQL 或 MySQL。

若使用 MySQL,需在 settings.py 修改 DATABASES 配置,并在项目根目录的 __init__.py 中引入 pymysql:

import pymysql
pymysql.install_as_MySQLdb()

定义模型(Model):

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

生成并应用迁移:

python manage.py makemigrations
python manage.py migrate

数据操作示例:

# 新增
Article.objects.create(title="New Post")
# 查询
articles = Article.objects.all()
# 更新
article.title = "Updated Title"
article.save()
# 删除
article.delete()

常用命令速查

命令说明
startproject创建新项目
startapp创建新应用
runserver启动开发服务
makemigrations生成迁移文件
migrate应用数据库迁移
createsuperuser创建管理员账号
shell进入交互式 Shell
test运行单元测试

最佳实践

  1. 分离项目与应用:保持 App 独立性,便于复用。
  2. 环境区分:开发环境与生产环境使用不同的 settings 文件。
  3. 静态文件:开发时使用 STATICFILES_DIRS,生产环境配合 collectstatic 收集。
  4. URL 设计:在应用层定义路由,项目层统一分发。

目录

  1. Django 简介
  2. 环境准备
  3. 项目初始化
  4. 项目结构解析
  5. 创建应用
  6. 视图与路由
  7. 模板系统
  8. 数据库与 ORM
  9. 新增
  10. 查询
  11. 更新
  12. 删除
  13. 常用命令速查
  14. 最佳实践
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 2026 年 AI 论文写作工具盘点与全流程指南
  • 数字频率计 FPGA 实现中的测频方法比较
  • EIAM 开源企业身份管理平台实战
  • 通义万相 2.1 图生视频技术简介与开源资源获取
  • AI 安全实战:基于 PGD 的 Stable Diffusion 视觉提示词注入攻击分析
  • 本地部署大模型知识库:Ollama 与 Dify 集成指南
  • Qwen3-ASR-1.7B 在博物馆 AR 导览中的实时语音转写与知识图谱应用
  • AI 产品经理核心面试问题与学习路线梳理
  • 二分查找应用:山峰数组的峰顶索引与寻找峰值
  • Python 爬虫入门与实战指南
  • 2G 内存云服务器部署 Spring Boot + MySQL 实践
  • 2025 年睿抗机器人开发者大赛 CAIP 编程技能赛本科组解题报告
  • Stable Diffusion 与 ComfyUI 整合包安装及使用指南 v4.10
  • 部署Qwen3-VL-32b的踩坑实录:多卡跑大模型为何vLLM卡死而llama.cpp却能“大力出奇迹”?
  • 基于 Python 的设计自主学习系统后端架构与实现
  • Docker 容器化 Whisper:镜像选型与模型预加载实战
  • RPA 财务机器人十大应用场景与未来趋势
  • OpenClaw 多端交互实战指南:Web/TUI/钉钉集成详解
  • Qwen3-TTS-12Hz-1.7B-Base 在国际展会 AI 导览机器人中的应用
  • 无人机低空智能巡飞巡检平台:全域感知与智能决策

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online