基于Django的后端开发入门教程

算法架构师 2021-03-16 ⋅ 16 阅读

Django 是一个功能强大且易于使用的 Python 后端开发框架,非常适合快速构建 Web 应用程序。在本教程中,我们将介绍如何使用 Django 搭建一个简单的博客应用程序。

1. Django 的安装与设置

首先,我们需要安装 Django。在命令行中运行以下命令来安装:

pip install Django

安装完成后,我们可以通过运行以下命令来创建一个 Django 项目:

django-admin startproject myproject

这将在当前目录下创建一个名为 myproject 的 Django 项目。接下来,我们进入到 myproject 目录,并执行以下命令来创建一个 Django 应用:

cd myproject
python manage.py startapp myapp

这将创建一个名为 myapp 的 Django 应用。

2. 数据库设置

Django 默认使用 SQLite 数据库来存储数据。如果你想使用其他类型的数据库,例如 MySQL 或 PostgreSQL,你需要在 settings.py 文件中更改数据库设置。

打开 settings.py 文件,找到如下代码行:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

如果你想使用 MySQL,将其修改为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'myusername',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

替换 mydatabasemyusernamemypasswordlocalhost3306 为你的数据库信息。

3. 创建模型

在 Django 中,模型用于定义数据库中的数据结构。我们将创建一个名为 Post 的模型来存储博客文章的信息。

打开 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

这个模型包含了 titlecontentcreated_at 字段。Titlecontent 分别用于存储文章的标题和内容,created_at 用于存储文章的创建时间。__str__ 方法用于返回模型实例的一个可读性好的字符串表示。

4. 数据库迁移

在我们创建了模型之后,我们需要创建相应的表格或数据库来存储数据。Django 提供了数据库迁移功能,它会根据模型的改变自动创建或更新表格。

运行以下命令来创建迁移文件:

python manage.py makemigrations

然后运行以下命令来应用迁移:

python manage.py migrate

迁移文件将在 myapp/migrations/ 目录下生成。

5. 创建视图

在 Django 中,视图是处理用户请求并返回响应的函数或类。我们将创建一个视图来显示所有的博客文章。

打开 myapp/views.py 文件,并在其中添加以下代码:

from django.shortcuts import render
from .models import Post

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

这个视图通过 Post.objects.all() 获取所有博客文章,并将它们传递给 myapp/post_list.html 模板。

6. 创建模板

模板用于在浏览器中以可视化的方式展示数据。我们将创建一个模板来显示所有的博客文章。

myapp 目录下创建一个名为 templates 的文件夹。然后在 templates 文件夹中创建一个名为 myapp 的文件夹。最后,在 myapp/templates/myapp 目录下创建一个名为 post_list.html 的文件,并添加以下代码:

{% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.content }}</p>
    <p>Created at: {{ post.created_at }}</p>
{% endfor %}

这个模板使用了 Django 的模板语言来动态地展示博客文章的标题、内容和创建时间。

7. 创建 URL 映射

在 Django 中,URL 映射将用户请求的 URL 和要执行的视图函数或类关联起来。

打开 myproject/urls.py 文件,并添加以下代码:

from django.contrib import admin
from django.urls import path
from myapp.views import post_list

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', post_list, name='post_list'),
]

这个配置将 '' 的 URL 映射到 post_list 视图函数,即显示所有的博客文章。

8. 运行应用

现在,我们已经完成了 Django 项目的设置,可以运行应用了。

在命令行中执行以下命令启动开发服务器:

python manage.py runserver

然后,在浏览器中访问 http://localhost:8000/,你将看到所有的博客文章被展示出来。

恭喜!你已经成功搭建了一个简单的基于 Django 的博客应用。

通过本教程,你学会了如何使用 Django 创建模型、迁移数据库、编写视图、创建模板和配置 URL 映射。

希望本教程对你有所帮助!如果你想深入学习 Django,可以参考 Django 官方文档:https://docs.djangoproject.com/


全部评论: 0

    我有话说: