Django 基础入门教程(第一篇)

📅 发布时间:2026/7/16 8:00:17 👁️ 浏览次数:
Django 基础入门教程(第一篇)
欢迎来到 Django 学习之旅作为软件开发工程师我将带你从零开始逐步掌握 Django 这个强大的 Web 框架。本系列教程共五篇本篇是第一篇我们将聚焦于 Django 的基础知识从简介、安装到创建第一个项目并深入解析项目结构。1. Django 简介1.1 什么是 DjangoDjango 是一个用 Python 编写的高级 Web 框架它遵循MVTModel-View-Template设计模式。Django 的目标是让开发复杂、数据库驱动的网站变得简单、快速并且“开箱即用”地提供了许多常用组件比如用户认证、管理后台、ORM对象关系映射、表单处理等。1.2 Django 的特点功能完善自带大量常用工具和组件无需重复造轮子。安全性强内置防范常见 Web 攻击如 SQL 注入、XSS、CSRF的机制。可扩展性高支持众多第三方应用易于扩展。ORM 支持通过 Python 对象操作数据库无需写原生 SQL。自动化管理后台只需定义模型即可自动生成功能完备的后台。强大的路由系统用简洁的方式定义 URL 与视图的映射。模板系统将业务逻辑与表现层分离支持模板继承。1.3 Django 的 MVT 架构Django 的 MVT 类似于 MVC但命名稍有不同Model模型定义数据结构与数据库表对应负责数据存取。View视图处理业务逻辑接收请求调用模型返回响应。Template模板负责呈现数据生成 HTML 页面。用户请求的流程浏览器 → URL 路由 → 视图 → 模型数据库交互→ 视图渲染模板 → 返回给浏览器2. Django 安装2.1 环境准备PythonDjango 是基于 Python 的需要安装 Python 3.8 或更高版本。可以通过python --version检查。pipPython 包管理工具通常随 Python 一起安装。虚拟环境强烈推荐隔离项目依赖避免版本冲突。2.2 创建并激活虚拟环境在项目目录下执行# 创建虚拟环境python-mvenv myenv# 激活虚拟环境Windowsmyenv\Scripts\activate# 激活虚拟环境macOS/Linuxsourcemyenv/bin/activate激活后命令行前缀会显示(myenv)。2.3 安装 Django使用 pip 安装 Djangopipinstalldjango验证安装python-mdjango--version如果显示版本号如 4.2.7则安装成功。3. 创建第一个 Django 项目3.1 使用 django-admin 创建项目在虚拟环境激活状态下执行django-admin startproject myblog这会在当前目录下生成一个名为myblog的文件夹里面是 Django 项目的骨架。3.2 进入项目目录并运行开发服务器cdmyblog python manage.py runserver你会看到类似输出Starting development server at http://127.0.0.1:8000/打开浏览器访问http://127.0.0.1:8000/如果看到 Django 的默认欢迎页面说明项目创建成功4. django-admin 命令详解django-admin是 Django 的命令行工具用于执行项目管理任务。常用命令startproject创建新项目。startapp创建新应用。shell进入 Django 的交互式 Shell。migrate应用数据库迁移。makemigrations根据模型变更生成迁移文件。createsuperuser创建管理员用户。我们将在后续教程中用到这些命令。5. Django 项目结构解析5.1 项目根目录结构myblog/ # 项目根目录 ├── manage.py # 项目管理脚本等同于 django-admin 的封装 ├── myblog/ # 项目配置目录与项目同名 │ ├── __init__.py # 标识这是一个 Python 包 │ ├── settings.py # 项目配置文件 │ ├── urls.py # 主 URL 路由声明 │ ├── asgi.py # ASGI 配置异步服务器入口 │ └── wsgi.py # WSGI 配置生产环境部署入口 └── db.sqlite3 # 默认的 SQLite 数据库文件第一次运行迁移后生成5.2 关键文件详解manage.py作用一个命令行工具用于与 Django 项目交互。你可以通过它运行开发服务器、创建应用、执行数据库迁移等。常用方式python manage.py commandsettings.py这是整个项目的核心配置文件包含数据库配置DATABASES默认使用 SQLite。已安装应用INSTALLED_APPS列出项目中启用的 Django 自带应用和第三方应用。中间件MIDDLEWARE处理请求/响应的钩子。模板配置TEMPLATES模板引擎设置。静态文件STATIC_URL、MEDIA_URL 等。密钥SECRET_KEY用于加密签名生产环境必须保密。urls.py定义 URL 与视图函数的映射关系。Django 通过这个文件将浏览器请求的 URL 分发给对应的视图处理。示例fromdjango.contribimportadminfromdjango.urlsimportpath urlpatterns[path(admin/,admin.site.urls),]asgi.py 和 wsgi.py分别用于 ASGI 和 WSGI 兼容的 Web 服务器如 Uvicorn、Gunicorn部署项目。开发阶段一般用不到。5.3 创建应用在 Django 中功能模块通常以“应用app”的形式组织。一个项目可以包含多个应用。创建应用的命令python manage.py startapp blog这会在项目根目录下生成blog/文件夹结构如下blog/ ├── migrations/ # 数据库迁移文件存放目录 │ └── __init__.py ├── __init__.py ├── admin.py # 注册模型到后台 ├── apps.py # 应用配置 ├── models.py # 定义数据模型 ├── tests.py # 测试文件 └── views.py # 定义视图函数创建应用后需要将它添加到settings.py的INSTALLED_APPS中Django 才能识别INSTALLED_APPS[django.contrib.admin,django.contrib.auth,...,blog,# 新增]6. 编写第一个视图接下来我们在blog应用中编写一个简单的视图返回 “Hello, Django!”。6.1 编辑 views.pyfromdjango.httpimportHttpResponsedefindex(request):returnHttpResponse(Hello, Django!)6.2 配置 URL 路由首先在blog应用内创建一个urls.py文件专门存放该应用的子路由。# blog/urls.pyfromdjango.urlsimportpathfrom.importviews urlpatterns[path(,views.index,nameindex),]然后在主项目的urls.py中引入blog的 URL 配置# myblog/urls.pyfromdjango.contribimportadminfromdjango.urlsimportpath,include# 导入 includeurlpatterns[path(admin/,admin.site.urls),path(blog/,include(blog.urls)),# 将 blog/ 开头的请求交给 blog.urls 处理]6.3 运行测试确保开发服务器正在运行访问http://127.0.0.1:8000/blog/你将看到 “Hello, Django!” 的响应。7. 常见问题与小结Q1: 运行runserver时提示端口被占用怎么办A: 可以指定其他端口如python manage.py runserver 8080。Q2: 修改代码后需要重启服务器吗A: 开发服务器会自动检测文件变化并重载无需手动重启除了新增文件等情况可能需要手动重启。Q3: 为什么需要虚拟环境A: 虚拟环境可以隔离项目的 Python 包避免不同项目间的依赖冲突也便于部署时精确复制环境。本篇总结我们完成了 Django 的入门三部曲了解了 Django 的特点和 MVT 架构。安装了 Django 并创建了第一个项目。解析了项目结构并亲手创建了一个应用编写了视图并配置了路由。下一篇我们将深入 Django 的模板系统、模型、表单和视图让你能够构建动态网页并与数据库交互。敬请期待练习尝试在blog应用中再添加一个视图返回当前时间并为它配置一个新的 URL如/blog/time/。