免费 Django 教程:快速构建 Web 应用 – wiki基地

免费 Django 教程:快速构建 Web 应用

Django,一个基于 Python 的高级 Web 框架,以其“快速开发,优雅设计”的理念,深受广大开发者的喜爱。它遵循模型-模板-视图(MTV)架构模式,提供了一整套强大的工具和约定,可以帮助你迅速构建功能强大、易于维护的 Web 应用程序。

对于想要入门 Web 开发,或者正在寻找高效开发框架的 Python 开发者来说,Django 无疑是一个绝佳的选择。而本文将为你提供一个全面的免费 Django 教程,带你从零开始,快速构建一个 Web 应用,掌握 Django 的核心概念和开发流程。

一、为什么选择 Django?

在深入教程之前,让我们先了解一下选择 Django 的原因:

  • 快速开发: Django 提供了大量的内置功能和组件,如 ORM、模板引擎、表单处理、认证系统等,极大地减少了重复造轮子的工作,从而加快了开发速度。
  • 安全可靠: Django 内置了防御常见的 Web 安全漏洞的机制,如 CSRF、XSS、SQL 注入等,可以有效保护你的应用程序免受攻击。
  • 可扩展性强: Django 架构清晰,易于扩展,可以轻松应对日益增长的用户和业务需求。
  • 社区活跃: Django 拥有庞大而活跃的社区,你可以很容易地找到各种问题的解决方案和学习资源。
  • 文档完善: Django 官方文档非常详细、全面,几乎涵盖了 Django 的所有方面。
  • 适用性广泛: Django 可以用于构建各种类型的 Web 应用,从简单的博客和论坛,到复杂的电商平台和社交网络,都能轻松胜任。

二、准备工作

在开始之前,你需要确保你的系统已经安装了以下软件:

  • Python: Django 基于 Python 开发,所以你需要安装 Python 3.6 或更高版本。你可以从 Python 官网下载并安装:https://www.python.org/downloads/
  • pip: pip 是 Python 的包管理工具,用于安装和管理 Python 包。通常情况下,安装 Python 时会自动安装 pip。你可以通过在命令行输入 pip --version 来检查是否安装成功。
  • 虚拟环境(建议): 强烈建议你使用虚拟环境来隔离不同项目之间的依赖关系。你可以使用 venvvirtualenv 来创建虚拟环境。

  • 使用 venv:
    bash
    python3 -m venv myenv
    source myenv/bin/activate # Linux/macOS
    myenv\Scripts\activate # Windows

  • 使用 virtualenv:
    bash
    pip install virtualenv
    virtualenv myenv
    source myenv/bin/activate # Linux/macOS
    myenv\Scripts\activate # Windows

创建并激活虚拟环境后,所有的 pip 安装操作都只会在当前虚拟环境中生效,不会影响到全局的 Python 环境。

三、安装 Django

激活虚拟环境后,使用 pip 安装 Django:

bash
pip install django

安装完成后,你可以通过以下命令来验证 Django 是否安装成功:

bash
python -m django --version

如果成功安装,会显示 Django 的版本号。

四、创建 Django 项目

安装好 Django 之后,就可以开始创建你的第一个 Django 项目了。

在命令行中,导航到你想要创建项目的目录,然后执行以下命令:

bash
django-admin startproject myproject

这个命令会创建一个名为 myproject 的 Django 项目目录,其中包含以下文件和目录:

  • myproject/: 项目根目录
    • manage.py: 一个命令行工具,用于管理 Django 项目
    • myproject/: 项目的 Python 包
      • __init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包
      • settings.py: 项目的配置文件
      • urls.py: 项目的 URL 路由配置
      • asgi.py: 异步服务器配置
      • wsgi.py: Web 服务器配置

五、运行开发服务器

进入 myproject 目录,然后执行以下命令来启动 Django 开发服务器:

bash
python manage.py runserver

默认情况下,开发服务器会在 http://127.0.0.1:8000/ 启动。打开浏览器,访问该地址,如果看到 Django 的默认欢迎页面,说明你的 Django 项目已经成功运行起来了。

六、创建 Django 应用

一个 Django 项目可以包含多个 Django 应用,每个应用负责处理特定的功能。例如,你可以创建一个博客应用、一个论坛应用等等。

要创建一个 Django 应用,可以使用以下命令:

bash
python manage.py startapp myapp

这个命令会创建一个名为 myapp 的 Django 应用目录,其中包含以下文件和目录:

  • myapp/: 应用根目录
    • __init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包
    • admin.py: 用于配置 Django 管理后台
    • apps.py: 应用的配置
    • migrations/: 用于管理数据库迁移
    • models.py: 用于定义数据模型
    • tests.py: 用于编写单元测试
    • views.py: 用于定义视图函数

七、定义数据模型 (models.py)

数据模型定义了你的应用程序需要存储的数据结构。它们通常对应于数据库中的表。

打开 myapp/models.py 文件,定义一个简单的 Article 模型:

“`python
from django.db import models

class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField(‘date published’)

def __str__(self):
    return self.title

“`

在这个模型中,我们定义了三个字段:

  • title: 文章标题,字符串类型,最大长度为 200。
  • content: 文章内容,文本类型。
  • pub_date: 发布日期,日期时间类型。

__str__ 方法定义了模型的字符串表示形式,方便在调试和管理中使用。

八、注册应用到 settings.py

myproject/settings.py 文件中,找到 INSTALLED_APPS 列表,并将你的应用添加到列表中:

python
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 添加你的应用
]

九、创建并应用数据库迁移

Django 使用数据库迁移来管理数据库结构的变更。在每次修改数据模型后,都需要创建并应用数据库迁移。

执行以下命令来创建数据库迁移:

bash
python manage.py makemigrations myapp

这个命令会根据你的数据模型生成迁移文件。

然后,执行以下命令来应用数据库迁移:

bash
python manage.py migrate

这个命令会将迁移文件应用到数据库,创建相应的表。

十、创建视图函数 (views.py)

视图函数负责处理用户的请求,并返回相应的响应。

打开 myapp/views.py 文件,定义一个简单的视图函数来显示文章列表:

“`python
from django.shortcuts import render
from .models import Article

def article_list(request):
articles = Article.objects.all()
return render(request, ‘myapp/article_list.html’, {‘articles’: articles})
“`

这个视图函数做了以下事情:

  • 从数据库中获取所有文章。
  • 将文章列表传递给一个模板文件 myapp/article_list.html
  • 使用 render 函数将模板渲染成 HTML 响应。

十一、创建模板文件 (templates/)

模板文件用于定义 Web 页面的布局和内容。

myapp 目录下创建一个 templates 目录,然后在 templates 目录下创建一个 myapp 目录(与应用同名)。

myapp/templates/myapp/ 目录下创建一个名为 article_list.html 的模板文件:

“`html




Article List

Article List


“`

这个模板文件使用了 Django 模板语言:

  • {% for article in articles %}: 循环遍历 articles 列表。
  • {{ article.title }}: 显示文章的标题。

十二、配置 URL 路由 (urls.py)

URL 路由将 URL 地址映射到相应的视图函数。

myapp 目录下创建一个名为 urls.py 的文件,并添加以下内容:

“`python
from django.urls import path
from . import views

urlpatterns = [
path(”, views.article_list, name=’article_list’),
]
“`

这个 urls.py 文件定义了一个 URL 模式:

  • '': 根 URL 地址,例如 http://127.0.0.1:8000/myapp/
  • views.article_list: 将根 URL 地址映射到 views.py 中的 article_list 视图函数。
  • name='article_list': 为这个 URL 模式指定一个名称,方便在模板中引用。

然后,打开 myproject/urls.py 文件,并将 myapp 的 URL 路由包含进来:

“`python
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘myapp/’, include(‘myapp.urls’)),
]
“`

这个 urls.py 文件定义了两个 URL 模式:

  • admin/: 将 /admin/ URL 地址映射到 Django 管理后台。
  • myapp/: 将 /myapp/ URL 地址映射到 myapp/urls.py 中定义的 URL 路由。

十三、访问 Web 应用

重启 Django 开发服务器:

bash
python manage.py runserver

然后在浏览器中访问 http://127.0.0.1:8000/myapp/,你应该能够看到一个包含文章标题的列表。

十四、使用 Django 管理后台

Django 提供了一个强大的管理后台,可以方便地管理你的数据模型。

要访问 Django 管理后台,首先需要创建一个超级用户:

bash
python manage.py createsuperuser

按照提示输入用户名、邮箱和密码。

然后,在浏览器中访问 http://127.0.0.1:8000/admin/,使用你创建的超级用户登录。

要让你的 Article 模型显示在管理后台中,需要在 myapp/admin.py 文件中注册该模型:

“`python
from django.contrib import admin
from .models import Article

admin.site.register(Article)
“`

重启开发服务器,然后刷新管理后台页面,你应该能够看到 Article 模型已经显示在管理后台中。你可以在管理后台中添加、修改和删除文章。

十五、总结与进阶

恭喜你,你已经完成了你的第一个 Django Web 应用!

通过这个教程,你学习了 Django 的基本概念和开发流程,包括:

  • 创建 Django 项目和应用
  • 定义数据模型
  • 创建数据库迁移
  • 创建视图函数
  • 创建模板文件
  • 配置 URL 路由
  • 使用 Django 管理后台

这只是 Django 的冰山一角。要深入学习 Django,可以参考以下资源:

进阶学习方向:

  • ORM (Object-Relational Mapper): 深入学习 Django ORM,掌握更高级的数据库操作技巧,如查询优化、事务管理等。
  • 模板引擎: 学习更高级的模板语言特性,如模板继承、自定义标签和过滤器等。
  • 表单处理: 学习 Django 表单,可以方便地处理用户输入的数据。
  • 用户认证: 学习 Django 用户认证系统,可以方便地实现用户注册、登录、权限管理等功能。
  • RESTful API: 学习 Django REST framework,可以方便地构建 RESTful API。
  • 测试: 编写单元测试和集成测试,保证代码的质量。
  • 部署: 学习如何将 Django 应用部署到生产环境。

希望这个教程能帮助你入门 Django,并开启你的 Web 开发之旅! 祝你学习愉快!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部