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__.py
        settings.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__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.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 models

class 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 Post

def 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 views

urlpatterns = [
    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 Post

def 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 Post

admin.site.register(Post)

7.2 启用后台管理

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

python manage.py createsuperuser

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

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


八、总结

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值