Django 框架基础

person smartzeng    watch_later 2024-08-14 20:19:42
visibility 221    class Django    bookmark 专栏

Django 是一个功能强大且完整的 Python Web 框架,适用于快速开发高性能的 Web 应用。以下是 Django 框架的基础知识,包括模型、视图、模板、ORM 和 Admin 管理。

1. 安装 Django

首先,确保你已经安装了 Django。你可以使用 pip 安装:

pip install django

2. 创建一个 Django 项目

使用 django-admin 命令来创建一个新的 Django 项目:

django-admin startproject myproject
cd myproject

3. 创建一个 Django 应用

在项目目录中,创建一个新的 Django 应用:

python manage.py startapp myapp

4. 模型(Model)

模型是与数据库交互的核心。每个模型对应数据库中的一张表。让我们在 myapp/models.py 中定义一个简单的模型:

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)

    def __str__(self):
        return self.title
  • title 是一个字符字段。
  • content 是一个文本字段。
  • created_at 自动记录创建时间。

5. 数据库迁移

在使用模型之前,你需要将其迁移到数据库中。

首先,生成迁移文件:

python manage.py makemigrations

然后,执行迁移,将模型应用到数据库:

python manage.py migrate

6. 视图(View)

视图负责处理 HTTP 请求,并返回 HTTP 响应。让我们在 myapp/views.py 中定义一个简单的视图:

from django.shortcuts import render
from .models import Post

def index(request):
    posts = Post.objects.all()
    return render(request, 'index.html', {'posts': posts})

这个视图查询所有的 Post 对象并渲染一个模板 index.html

7. 模板(Template)

模板用于生成动态的 HTML 内容。创建一个模板文件 templates/index.html,并将其用于显示帖子列表:

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

8. 配置 URL

myapp 目录中创建 urls.py 文件,并配置 URL 映射:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

然后在项目的 urls.py 中包含这个应用的 URL:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

9. Django 的 ORM(对象关系映射)

Django 的 ORM 允许你使用 Python 代码与数据库交互。下面是一些常见的 ORM 操作:

  • 查询所有对象:Post.objects.all()
  • 查询特定对象:Post.objects.get(id=1)
  • 创建对象:Post.objects.create(title="My Post", content="This is a post")
  • 更新对象:post = Post.objects.get(id=1); post.title = "Updated Title"; post.save()
  • 删除对象:post = Post.objects.get(id=1); post.delete()

10. Django Admin 管理

Django 提供了一个强大的管理界面。首先,将你的模型注册到 Admin 中。在 myapp/admin.py 中:

from django.contrib import admin
from .models import Post

admin.site.register(Post)

启动开发服务器:

python manage.py runserver

然后在浏览器中访问 http://127.0.0.1:8000/admin/,你将看到 Django 自动生成的管理界面。在这里,你可以添加、编辑和删除数据库中的内容。

总结

通过以上步骤,你已经掌握了 Django 的基础,包括模型、视图、模板、ORM 以及 Admin 管理。这些是 Django 开发的核心概念。接下来,你可以进一步学习 Django 的高级功能,如表单处理、用户认证、权限系统、中间件等。

评论区
评论列表
menu