Django 系列篇(一):初探 Django 框架与 Hello World 实例

作者:半吊子全栈工匠2024.04.07 15:55浏览量:5

简介:本文是 Django 系列教程的第一篇,将简要介绍 Django 框架的基本概念,并通过一个简单的 Hello World 实例,带领读者快速上手 Django。

Django 系列篇(一):初探 Django 框架与 Hello World 实例

一、引言

Django 是一个由 Python 编写的开源 Web 框架,它遵循 MVC 设计模式,并且内置了许多功能强大的工具和库,旨在让开发者能够更快速、更简单地开发安全且可维护的网站。无论是小型项目还是大型应用,Django 都能提供强大的支持。

在本系列教程中,我们将从基础开始,逐步深入了解 Django 框架的核心概念和实际应用。本文作为系列的第一篇,将介绍 Django 的基本知识和如何创建一个简单的 Hello World 实例。

二、Django 基础概念

  1. 模型(Models):在 Django 中,模型是数据的核心,它包含了存储数据库中的关键信息和字段。通过模型,我们可以定义网站的数据结构。

  2. 视图(Views):视图是 Django 的逻辑层,它负责处理用户请求并返回响应。视图通常是由 Python 函数或类来定义的。

  3. 模板(Templates):模板是 Django 的表现层,它负责将视图生成的数据以 HTML 的形式展示给用户。Django 提供了强大的模板语言,使得页面渲染更加灵活和方便。

  4. URL 分发:Django 使用 URL 分发来将用户请求映射到相应的视图函数或类。通过定义 URLconf(URL 配置),我们可以控制网站的“目录结构”。

三、安装 Django

在开始编写 Django 项目之前,首先需要安装 Django 框架。你可以使用 pip(Python 包管理器)来安装最新版本的 Django:

  1. pip install django

四、创建 Hello World 项目

  1. 创建项目:在命令行中,使用 Django 的 startproject 命令创建一个新的项目。例如,我们创建一个名为 helloworld 的项目:
  1. django-admin startproject helloworld

这将在当前目录下创建一个名为 helloworld 的文件夹,其中包含一些基础文件和目录结构。

  1. 进入项目目录:切换到新创建的项目目录中:
  1. cd helloworld
  1. 创建应用:在 Django 项目中,我们通常会创建多个应用来处理不同的功能模块。现在我们创建一个简单的应用,名为 core
  1. python manage.py startapp core

这将在 helloworld 目录下创建一个名为 core 的新文件夹,用于存放应用的代码。

  1. 定义模型:虽然我们的 Hello World 实例非常简单,不需要数据库支持,但为了演示 Django 的 MVC 架构,我们还是在 core/models.py 中定义一个简单的模型:
  1. # core/models.py
  2. from django.db import models
  3. class Greeting(models.Model):
  4. message = models.CharField(max_length=200)

这里定义了一个名为 Greeting 的模型,它只有一个字段 message,用于存储问候信息。

  1. 创建视图:在 core/views.py 文件中,我们创建一个视图函数来显示 Hello World 消息
  1. # core/views.py
  2. from django.shortcuts import render
  3. from .models import Greeting
  4. def hello_world(request):
  5. greeting = Greeting.objects.get(pk=1)
  6. context = {'greeting': greeting}
  7. return render(request, 'core/hello_world.html', context)

这个视图函数从数据库中获取 Greeting 模型的一个实例,并将其传递给模板进行渲染。

  1. 创建模板:在 core/templates/core 目录下,创建一个名为 hello_world.html 的模板文件:
  1. <!-- core/templates/core/hello_world.html -->
  2. <html>
  3. <head>
  4. <title>Hello World!</title>
  5. </head>
  6. <body>
  7. <h1>Hello, {{ greeting.message }}!</h1>
  8. </body>
  9. </html>

这个模板简单地显示从视图函数传递过来的 greeting 对象的 message 字段。

  1. 配置 URL:在 helloworld/urls.py 文件中,我们将 hello_world 视图函数添加到 URL 配置中:

```python

helloworld/urls.py

from django.urls import path
from core import views

urlpatterns = [
path(‘