Django 框架入门指南:从零开始构建 Web 应用 📅 发布时间:2026/8/24 16:28:49 👁 浏览次数: 1. 引言Django 是一个高级 Python Web 框架它鼓励快速开发和干净、实用的设计。由经验丰富的开发者构建它处理了 Web 开发中的许多麻烦事让你能够专注于编写应用而无需重新发明轮子。它是免费且开源的拥有一个庞大而活跃的社区非常活跃。如果你正在寻找一个功能全面、自带管理后台、ORM对象关系映射和强大安全特性的框架Django 是一个非常值得考虑的选择。本文将带你从零开始了解 Django 的核心概念并动手构建你的第一个 Web 应用。2. 为什么选择 Django在众多 Python Web 框架如 Flask、FastAPI中Django 以其「全家桶」式的设计理念独树一帜。它提供了 Web 开发中几乎所有常用的组件让你无需在第三方库的选择上花费过多精力。自带管理后台Django 会根据你的数据模型自动生成一个功能完善的后台管理界面极大地提高了内容管理的效率。强大的 ORM通过 Python 代码操作数据库无需编写繁琐的 SQL 语句支持多种数据库后端如 SQLite、PostgreSQL、MySQL。完善的安全机制内置了对 SQL 注入、XSS跨站脚本攻击、CSRF跨站请求伪造等常见网络攻击的防护。可扩展性虽然自带很多组件但 Django 的设计也允许你灵活地替换或扩展使用第三方应用来满足特定需求。活跃的社区拥有海量的第三方包、详尽的官方文档和丰富的学习资源遇到问题很容易找到解决方案。3. 环境准备与安装在开始之前请确保你的电脑上已经安装了 Python 3.8 或更高版本。推荐使用虚拟环境来隔离项目依赖。首先创建并激活虚拟环境# 创建虚拟环境python-mvenv myenv# 激活虚拟环境Windowsmyenv\Scripts\activate# 激活虚拟环境macOS / Linuxsourcemyenv/bin/activate接下来使用 pip 安装 Djangopipinstalldjango安装完成后可以通过以下命令验证 Django 是否安装成功python-mdjango--version4. 创建第一个 Django 项目Django 使用命令行工具来管理项目。打开终端进入你想要存放项目的目录运行以下命令创建一个名为mysite的项目django-admin startproject mysite这个命令会生成一个名为mysite的目录其内部结构如下mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py一个命令行工具用于与 Django 项目进行各种交互如运行开发服务器、创建应用等。mysite/settings.py项目的配置文件包含数据库设置、应用注册、静态文件路径等。mysite/urls.pyURL 声明相当于网站的「目录」负责将 URL 请求路由到对应的视图函数。mysite/asgi.py和mysite/wsgi.py用于部署项目的 ASGI 和 WSGI 入口点。进入项目目录并启动开发服务器cdmysite python manage.py runserver在浏览器中访问http://127.0.0.1:8000/你会看到一个欢迎页面恭喜你你的第一个 Django 项目已经成功运行了5. 创建应用与理解 MTV 架构Django 采用 MTVModel-Template-View架构模式这是对传统 MVCModel-View-Controller的一种变体。理解这个模式是掌握 Django 的关键。Model模型定义数据结构负责与数据库交互。每个模型类对应数据库中的一张表。Template模板负责呈现数据是 HTML 文件其中可以嵌入 Django 模板语言DTL来动态显示内容。View视图负责业务逻辑接收 HTTP 请求从 Model 中获取数据并将其传递给 Template 渲染最终返回 HTTP 响应。一个项目通常由多个「应用」App组成每个应用负责一个特定的功能模块。创建一个名为blog的应用python manage.py startapp blog创建后需要在mysite/settings.py的INSTALLED_APPS列表中注册这个新应用INSTALLED_APPS[django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,blog,# 新增]6. 定义模型Model在blog/models.py中定义一个简单的文章模型fromdjango.dbimportmodelsclassArticle(models.Model):titlemodels.CharField(max_length200)contentmodels.TextField()pub_datemodels.DateTimeField(auto_now_addTrue)def__str__(self):returnself.title这个模型定义了三个字段标题CharField、内容TextField和发布日期DateTimeField。__str__方法用于在后台管理中显示更友好的对象名称。接下来生成数据库迁移文件并执行迁移将模型同步到数据库python manage.py makemigrations blog python manage.py migrate7. 编写视图View与配置 URL视图函数接收一个HttpRequest对象并返回一个HttpResponse对象。在blog/views.py中编写一个简单的视图用于显示所有文章fromdjango.shortcutsimportrenderfrom.modelsimportArticledefarticle_list(request):articlesArticle.objects.all().order_by(-pub_date)returnrender(request,blog/article_list.html,{articles:articles})现在我们需要将 URL 与这个视图关联起来。在blog应用目录下创建一个新的urls.py文件fromdjango.urlsimportpathfrom.importviews urlpatterns[path(,views.article_list,namearticle_list),]然后在项目的mysite/urls.py中包含这个应用的 URL 配置fromdjango.contribimportadminfromdjango.urlsimportpath,include urlpatterns[path(admin/,admin.site.urls),path(,include(blog.urls)),]8. 创建模板Template在blog应用目录下创建templates/blog/目录并在其中新建article_list.html文件!DOCTYPEhtmlhtmlheadtitle我的博客/title/headbodyh1文章列表/h1ul{% for article in articles %}lih2{{ article.title }}/h2p{{ article.content }}/psmall{{ article.pub_date }}/small/li{% endfor %}/ul/body/htmlDjango 模板语言使用{% %}表示逻辑控制如循环、判断使用{{ }}输出变量。9. 使用 Django 管理后台Django 自带的管理后台是它的一大亮点。首先创建一个超级用户python manage.py createsuperuser按照提示输入用户名、邮箱和密码。然后在blog/admin.py中注册我们的模型fromdjango.contribimportadminfrom.modelsimportArticle admin.site.register(Article)启动开发服务器访问http://127.0.0.1:8000/admin/使用刚才创建的超级用户登录你就可以通过图形化界面来添加、编辑和删除文章了。10. 总结与下一步本文带你走完了 Django 开发的一个完整流程从环境搭建、创建项目到定义模型、编写视图、创建模板再到使用强大的管理后台。这只是一个开始Django 的世界还有更多精彩内容等待你去探索。接下来你可以尝试学习使用 Django 的表单Forms来处理用户输入。深入了解 Django 的认证系统实现用户注册和登录。使用 Django REST Framework 来构建 RESTful API。学习如何将 Django 应用部署到生产环境如使用 Gunicorn Nginx。Django 的官方文档非常详尽是学习的最佳资源。祝你编码愉快