当前位置: 首页 > news >正文

Django 使用教程

Django 使用教程

Django 是一个高级的 Python Web 框架,采用了 MTV(Model-Template-View)设计模式,旨在帮助开发者快速构建高效、可维护的 Web 应用。它有着非常丰富的功能,包括 ORM、用户认证、表单处理、管理后台等,是构建复杂 Web 应用的理想选择。

本文将介绍如何从零开始使用 Django,创建一个简单的 Web 应用,包含环境配置、创建项目和应用、定义模型、视图和模板、路由配置等内容。


一、环境准备

1.1 安装 Python 和 Django

Django 是基于 Python 的,因此你需要先安装 Python 环境。确保安装了 Python 3.x 版本。

  1. 安装 Python(如果还没有安装的话):
    你可以通过 Python 官网下载并安装最新版本的 Python。

  2. 创建虚拟环境(推荐):
    虚拟环境能够帮助你管理不同项目的依赖,避免冲突。

    在终端中运行以下命令创建虚拟环境:

    python -m venv myenv
    

    激活虚拟环境:

    • Windows:
      myenv\Scripts\activate
      
    • macOS/Linux:
      source myenv/bin/activate
      
  3. 安装 Django
    在虚拟环境中,使用 pip 安装 Django:

    pip install django
    

1.2 检查安装是否成功

安装完成后,运行以下命令检查 Django 版本,确保安装成功:

django-admin --version

二、创建 Django 项目

2.1 创建项目

使用 Django 提供的命令行工具 django-admin 创建一个新的项目。在终端中运行以下命令:

django-admin startproject myproject

这会在当前目录下创建一个名为 myproject 的文件夹,其中包含了一些默认文件和目录结构。

项目目录结构:

myproject/manage.py  # 用于管理项目的命令行工具myproject/  # 项目设置文件夹__init__.pysettings.py  # 项目的配置文件urls.py  # 路由配置wsgi.py  # 用于部署的 WSGI 配置

2.2 启动开发服务器

进入 myproject 文件夹,并运行开发服务器:

cd myproject
python manage.py runserver

服务器启动后,打开浏览器访问 http://127.0.0.1:8000/,如果看到 Django 的欢迎页面,说明项目创建成功。


三、创建 Django 应用

在 Django 中,应用是构建 Web 项目的基本单元。一个 Django 项目可以包含多个应用,每个应用负责处理项目中的一个功能模块。

3.1 创建应用

在项目目录下运行以下命令来创建一个应用,例如创建一个名为 blog 的应用:

python manage.py startapp blog

这会在项目中创建一个 blog 文件夹,目录结构如下:

blog/__init__.pyadmin.pyapps.pymodels.pytests.pyviews.py

3.2 注册应用

打开 myproject/settings.py 文件,找到 INSTALLED_APPS 列表,添加刚刚创建的 blog 应用:

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

四、定义模型(Model)

在 Django 中,模型用于定义数据结构,映射数据库表。Django 使用 ORM(对象关系映射)技术,将模型与数据库中的表进行关联。

4.1 创建模型

打开 blog/models.py 文件,定义一个简单的模型,比如 Post,表示博客文章:

from django.db import modelsclass Post(models.Model):title = models.CharField(max_length=100)content = models.TextField()created_at = models.DateTimeField(auto_now_add=True)updated_at = models.DateTimeField(auto_now=True)def __str__(self):return self.title

模型 Post 包括三个字段:title(标题)、content(内容)和 created_at(创建时间)。其中 CharFieldTextField 是常用的字段类型,DateTimeField 用于存储时间。

4.2 创建数据库表

模型定义完成后,需要生成数据库表。在终端中运行以下命令:

python manage.py makemigrations
python manage.py migrate
  • makemigrations 会生成数据库迁移文件。
  • migrate 会根据迁移文件创建数据库表。

五、创建视图(Views)

视图是用户请求和响应之间的桥梁,它处理请求并返回响应。在 Django 中,视图通常有两种类型:函数视图和类视图。

5.1 创建函数视图

打开 blog/views.py 文件,创建一个简单的视图函数:

from django.http import HttpResponse
from .models import Postdef index(request):posts = Post.objects.all()  # 获取所有博客文章response = '<h1>Blog Posts</h1>'for post in posts:response += f'<h2>{post.title}</h2><p>{post.content}</p>'return HttpResponse(response)

该视图函数获取所有博客文章,并将其标题和内容显示在页面上。

5.2 配置路由

打开 myproject/urls.py 文件,配置 URL 路由,将请求与视图函数关联起来:

from django.contrib import admin
from django.urls import path
from blog import viewsurlpatterns = [path('admin/', admin.site.urls),path('', views.index, name='index'),  # 将根 URL 映射到 index 视图
]

六、创建模板(Template)

模板用于呈现 HTML 页面,可以将动态内容与静态内容结合。在 Django 中,模板是存放在 templates 目录下的 HTML 文件。

6.1 创建模板

blog 应用下创建一个 templates 文件夹,并在其中创建 index.html 文件:

blog/templates/index.html

index.html 中,编写 HTML 和 Django 模板语言来显示博客文章列表:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Blog</title>
</head>
<body><h1>Blog Posts</h1>{% for post in posts %}<h2>{{ post.title }}</h2><p>{{ post.content }}</p>{% endfor %}
</body>
</html>

6.2 修改视图函数使用模板

修改 views.py 中的 index 视图函数,使用 Django 的 render 函数渲染模板:

from django.shortcuts import render
from .models import Postdef index(request):posts = Post.objects.all()return render(request, 'index.html', {'posts': posts})

七、后台管理

Django 提供了一个强大的后台管理界面,可以帮助我们管理数据。在 admin.py 中,我们需要将模型注册到 Django 管理后台。

7.1 注册模型

打开 blog/admin.py 文件,注册 Post 模型:

from django.contrib import admin
from .models import Postadmin.site.register(Post)

7.2 启用后台管理

创建超级用户以便登录后台管理界面:

python manage.py createsuperuser

按照提示输入用户名、电子邮件和密码。

启动开发服务器后,在浏览器访问 http://127.0.0.1:8000/admin/,使用超级用户账号登录,您可以在后台管理界面查看和管理 Post 模型的数据。


八、总结

本文介绍了 Django 的基本使用方法,包括如何创建项目和应用、定义模型、视图和模板、配置路由、以及启用后台管理界面。通过这些步骤,你可以快速构建一个简单的 Django Web 应用。

在实际开发中,你可能会遇到更多的功能需求,例如表单处理、用户认证、分页等,Django 提供了丰富的功能支持,能够帮助你应对各种需求。你可以通过官方文档深入学习和掌握 Django:Django 官方文档。

相关文章:

  • 【RabbitMQ | 第2篇】RabbitMQ 控制台实现消息路由 + 数据隔离
  • HarmonyOS-ArkUI-动画分类简介
  • VSCode 扩展离线下载方法
  • wpf stylet框架 关于View与viewmodel自动关联绑定的问题
  • 17.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--SonarQube部署与配置
  • 大数据可能出现的bug之flume
  • 【C++】深入浅出之多态
  • 系统中的malloc怎么分配内存
  • 第一月第四周
  • RAG框架精选2
  • 学习笔记—C++—string(练习题)
  • kotlin知识体系(六) : Flow核心概念与与操作符指南
  • 利用OLED打印调试信息: 控制PC13指示灯点灯的实验
  • C++在VR/AR图形处理开发中的实战应用
  • 如何在 Go 中创建和部署 AWS Lambda 函数
  • 2025-2030:视频联网平台的六大技术演进趋势
  • 关于隔离2:ADC芯片
  • 【每天一个知识点】医学领域的模式识别
  • Linux网络UDP与TCP
  • node.js|环境部署|源码编译高版本的node.js
  • 用户称被冒用身份证异地办卡申请注销遭拒,澎湃介入后邯郸联通着手办理剥离
  • 马上评丨敦煌网美国爆火,“市场之腿”总能跨越关税壁垒
  • 中央宣传部原副部长张建春被提起公诉
  • 蓝思科技一季度净利增近四成,预计关税对整体经营影响非常有限
  • 国台办:大陆经济前景好不好,事实最有说服力
  • 两名中国公民在罗马遇害,中国驻意大利使馆敦促意方加快破案