📜  django 管理链接 - Python (1)

📅  最后修改于: 2023-12-03 14:40:47.606000             🧑  作者: Mango

Django 管理链接 - Python

Django 是一个流行的 Python Web 开发框架,内置了丰富的模块和功能,包括管理后台。在 Django 中,我们可以通过管理后台轻松地管理我们的数据库,包括创建、修改和删除对象等操作。本文将介绍如何使用 Django 管理后台来管理链接。

创建应用

首先,我们需要在我们的项目中创建一个新应用。我们可以使用以下命令来创建一个名为 links 的应用:

python manage.py startapp links
定义模型

links/models.py 文件中,我们将定义一个名为 Link 的模型,该模型具有 titleurldescription 字段。

from django.db import models

class Link(models.Model):
    title = models.CharField(max_length=255)
    url = models.URLField()
    description = models.TextField(null=True, blank=True)

    def __str__(self):
        return self.title

我们需要在 Django 中安装第三方模块 django-autoslug,以便在创建链接时自动为链接标题生成唯一、易读的 URL。我们可以使用以下命令安装它:

pip install django-autoslug

然后,在应用的 settings.py 文件中添加以下配置:

INSTALLED_APPS = [
    # 其他应用
    'autoslug',
    'links',
]

# 在 Link 模型中添加 `slug` 字段
from autoslug import AutoSlugField

class Link(models.Model):
    title = models.CharField(max_length=255)
    url = models.URLField()
    description = models.TextField(null=True, blank=True)
    slug = AutoSlugField(populate_from='title', unique=True)

    def __str__(self):
        return self.title

现在我们已经定义了我们的模型,接下来我们将在管理后台中注册它。

注册模型

links/admin.py 文件中,我们将注册我们的 Link 模型,并定义我们需要显示的字段。

from django.contrib import admin
from .models import Link

class LinkAdmin(admin.ModelAdmin):
    list_display = ('title', 'url', 'description')

admin.site.register(Link, LinkAdmin)

我们还可以定义其他的选项,例如搜索字段和筛选器等。这些选项能帮助我们在管理后台中更轻松地管理我们的数据。

class LinkAdmin(admin.ModelAdmin):
    list_display = ('title', 'url', 'description')
    list_filter = ('created', 'updated')
    search_fields = ('title', 'url', 'description')
    prepopulated_fields = {'slug': ('title',)}

现在我们已经注册了我们的模型并定义了它们的选项,接下来我们将运行开发服务器并访问管理后台。

运行开发服务器并访问管理后台

我们可以使用以下命令来运行开发服务器:

python manage.py runserver

然后,我们可以在浏览器中访问 http://127.0.0.1:8000/admin/,登录并访问链接菜单。

在链接菜单中添加、修改、删除、搜索和筛选链接。

现在您已经学会如何使用 Django 管理后台来管理链接。这个功能是 Web 开发中必不可少的部分,它可以帮助我们更快、更简单地管理我们的数据库。