python Django框架快速入门教程(后台管理)

yizhihongxing

Python Django框架快速入门教程(后台管理)

随着Web开发的日益普及,Django作为Python的快速开发Web应用框架在业界已得到广泛的应用。在本教程中,我们将介绍如何使用Django框架来构建Web应用程序后台管理模块,主要内容包括:

  1. Django框架介绍和环境搭建
  2. 创建Django项目和应用
  3. 设计数据模型和创建数据库
  4. 创建后台管理界面和页面路由
  5. 如何使用后台管理界面进行增删改查操作

环境搭建

Django是一个纯Python编写的Web开发框架,它需要安装Python环境和Django库才能使用。在安装Django之前,首先需要安装Python,推荐使用Python3.x。

安装完Python之后,可以使用pip命令来安装Django:

pip install django

创建Django项目和应用

在安装完Django后,我们可以使用Django提供的命令行工具来创建一个Django项目:

django-admin startproject demo

其中demo是项目名称,创建成功后,会在当前目录下创建一个demo目录,该目录结构如下所示:

demo/
    manage.py
    demo/
        __init__.py
        settings.py
        urls.py
        wsgi.py

其中,demo/目录是我们新建的项目,manage.py是一个命令行工具,可用于在开发过程中执行Django项目的各种操作,demo/demo目录是我们的应用程序代码所在的地方,其中包括了一个settings.py文件,它包含了项目的配置信息,以及一个urls.py文件,它定义了项目的URL路由。

在创建完Django项目之后,我们需要再创建一个Django应用程序:

python manage.py startapp blog

其中blog是我们新创建的应用程序名称,创建成功后,会在demo/demo目录下创建一个blog目录,该目录结构如下所示:

blog/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py
    migrations/
        __init__.py

其中,blog/models.py文件是我们定义数据模型的地方,admin.py文件是我们定义后台管理页面的地方,views.py文件是我们定义视图函数的地方。

设计数据模型和创建数据库

在开发Web应用程序时,首先需要设计应用程序的数据模型,并将其映射到数据库中。Django提供了ORM(对象关系映射)框架,它可以轻松地将Python对象映射到数据库中,使得我们能够使用Python代码来操作数据库,而不需要了解SQL语言。

在Django中,数据模型是通过Python类来定义的,我们只需要在blog/models.py文件中定义一个类,Django就会自动创建相应的数据表(如果它不存在的话)。

例如,我们可以定义一个博客文章数据模型:

from django.db import models


class Post(models.Model):
    title = models.CharField(max_length=100, verbose_name='标题')
    content = models.TextField(verbose_name='正文')
    created_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
    updated_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
    is_published = models.BooleanField(default=False, verbose_name='是否发布')


    class Meta:
        db_table = 't_post'
        verbose_name = '文章'
        verbose_name_plural = '文章'

上面的代码定义了一个Post类,它继承自Django提供的models.Model类。这个类中包括了四个实例属性:title、content、created_time、updated_time和一个布尔类型的实例属性:is_published。

Django会自动为Post类创建一个名为t_post的数据表。在这个表中,title字段是一个长度不超过100的字符串类型,content字段是一个文本类型,created_time字段会在记录创建时自动填充数据,updated_time字段会在记录更新时自动更新数据,is_published字段默认为False。

创建数据模型之后,我们需要在Django中创建数据库表。在代码修改完成之后,可以运行以下命令在数据库中自动生成表:

python manage.py makemigrations blog
python manage.py migrate

这些命令会自动根据models.py文件中的类定义创建数据库表,并将表结构同步到数据库中。

创建后台管理界面和页面路由

Django提供了一个名为Django Admin的自动生成的后台管理界面,该后台管理界面自动生成了数据表的操作界面,具有很好的可扩展性。我们可以通过简单地配置admin.py文件,将我们自定义的数据模型引入到Django Admin中,从而为我们的应用程序提供一个功能强大且美观的后台管理界面。

例如,我们可以定义一个博客文章的后台管理页面:

from django.contrib import admin
from .models import Post


@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'created_time', 'updated_time', 'is_published')
    list_filter = ('created_time', 'updated_time', 'is_published')
    search_fields = ('title', 'content')
    date_hierarchy = 'created_time'

    fieldsets = (
        (None, {
            'fields': ('title', 'content', 'is_published')
        }),
    )

上面的代码定义了一个PostAdmin类,它继承自Django提供的admin.ModelAdmin类。该类中定义了list_display、list_filter、search_fields和date_hierarchy等类属性,用于配置文章管理页面的显示,排序和搜索条件。

最后一个fieldsets属性定义了相关表单的字段分组显示。

同时还需要在blog/admin.py文件添加一下代码:

from django.contrib import admin
from django.urls import path, re_path, include
from django.conf.urls import url
admin.autodiscover()

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

这段代码的作用是在Django的URL路由表中注册后台管理界面的URL,这样我们就可以访问/admin来访问后台管理页面。

如何使用后台管理界面进行增删改查操作

我们已经成功地创建了一个博客文章的数据模型,并将其加入了后台管理页面中。现在,我们可以使用Django Admin来快速地创建、编辑和删除博客文章。

  1. 创建文章

在后台管理页面中,我们可以点击添加按钮,跳转到添加文章的页面,可以通过填写表单来创建一篇新的文章。

  1. 编辑文章

在文章列表中,我们可以点击文章标题,跳转到编辑文章页面,可以通过修改表单内容来更新文章信息。

  1. 删除文章

在文章列表中,我们可以选中要删除的文章,然后点击删除按钮来删除文章。

  1. 查询文章

在文章列表中,我们可以使用表单输入关键字,然后点击搜索按钮来根据关键字查询文章信息。

示例:

首先,我们需要在blog/admin.py文件中引入Post类,并将其注册到Django Admin中。代码如下:

from django.contrib import admin
from .models import Post

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'created_time', 'updated_time', 'is_published')
    list_filter = ('created_time', 'updated_time', 'is_published')
    search_fields = ('title', 'content')
    date_hierarchy = 'created_time'

    fieldsets = (
        (None, {
            'fields': ('title', 'content', 'is_published')
        }),
    )

接下来,我们可以运行以下命令启动Django内置服务器:

python manage.py runserver

然后,在浏览器中访问http://127.0.0.1:8000/admin即可看到后台管理页面。在该页面中,我们可以使用刚才定义的PostAdmin类来管理博客文章数据。

我们可以点击添加按钮来添加一篇新文章,点击文章标题来编辑文章,选中文章并点击删除按钮来删除文章,使用搜索框输入关键字来搜索文章。

完整的Python Django框架快速入门教程(后台管理)就介绍到这里了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python Django框架快速入门教程(后台管理) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python实现KNN邻近算法

    Python实现KNN邻近算法的完整攻略 KNN算法是一种常用的机器学习算法,用于分类和回归问题。本文将详细讲解Python实现KNN算法的整个攻略,包括算法原理实现过和示例。 算法原理 KNN算法的基本思想是通过计算待分类样本与训练集中所有样本距离选取距近的k样本,根据这k个样本的类别进行投票,将待分类样归票数多的类别。在回归中,KNN算法的基本思想是通过…

    python 2023年5月14日
    00
  • Python正则获取、过滤或者替换HTML标签的方法

    以下是“Python正则获取、过滤或者替换HTML标签的方法”的完整攻略: 一、问题描述 在Python中,我们经常需要处理HTML文本,包括获取、过滤或者替换HTML标签。本文将详细讲解Python正则获取、过滤或者替换HTML标签的方法,并提供两个示例说明。 二、解决方案 2.1 获取HTML标签 在Python中,我们可以使用正则表达式获取HTML标签…

    python 2023年5月14日
    00
  • 浅谈python爬虫使用Selenium模拟浏览器行为

    浅谈Python爬虫使用Selenium模拟浏览器行为 在本攻略中,我们将介绍如何使用Python爬虫使用Selenium模拟浏览器行为。我们将使用Python的Selenium库来实现这个过程。 步骤1:安装Selenium库 使用以下命令可以安装Selenium库: pip install selenium 步骤2:安装浏览器驱动 使用Selenium库…

    python 2023年5月15日
    00
  • python编程webpy框架模板之def with学习

    接下来我将为你详细讲解“python编程webpy框架模板之def with学习”的完整攻略。 什么是webpy框架模板之def with 在web应用程序开发过程中,模板是一个至关重要的组成部分。通常,网站的数据与动态生成的HTML网页分离,并通过模板引擎动态地将数据插入到HTML页面中,生成最终的网页。 webpy是一个简单且高效的Python web框…

    python 2023年6月3日
    00
  • python学习之读取配置文件

    下面详细讲解一下如何在Python中读取配置文件的完整攻略。 1. 安装pyyaml库 在开始读取配置文件之前,我们需要先安装一个PyYAML库,这个库将会帮助我们读取常用的YAML格式的配置文件。我们可以使用pip安装它,具体操作如下: !pip install pyyaml 2. 创建配置文件 在读取配置文件之前,我们还需要先创建一个配置文件,例如我们创…

    python 2023年6月6日
    00
  • 基于Python记录一场2023的烟花

    下面是详细讲解基于Python记录一场2023的烟花的完整攻略。 1. 准备工作 在使用 Python 记录烟花的过程前,需要先准备好需要使用的第三方库,包括 numpy 和 matplotlib。你可以通过以下命令在命令行中安装它们: pip install numpy matplotlib 2. 记录烟花的过程 2.1. 生成起点和目标点 在记录烟花的过…

    python 2023年6月2日
    00
  • 如何利用python实现图片批处理

    我们来详细讲解如何利用Python实现图片批处理。 一、环境准备 在开始前,我们需要先安装以下两个Python库: Pillow。一个Python Imaging Library(PIL)的分支项目,可以用于图片处理和图像识别等。 pip install Pillow os。一个Python自带的用于处理文件和目录的标准库,常用于文件系统操作。 不需要进行安…

    python 2023年5月18日
    00
  • python音频处理的示例详解

    Python是一种功能强大的编程语言,可以用于音频处理。本文将介绍如何使用Python进行音频处理,并提供两个示例。 安装依赖库 在使用Python进行音频处理之前,需要安装一些依赖库。以下是一个示例代码,演示如何使用pip安装依赖库: pip install numpy scipy matplotlib librosa 示例1:音频可视化 以下是一个示例代…

    python 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部