Python Django框架快速入门教程(后台管理)
随着Web开发的日益普及,Django作为Python的快速开发Web应用框架在业界已得到广泛的应用。在本教程中,我们将介绍如何使用Django框架来构建Web应用程序后台管理模块,主要内容包括:
- Django框架介绍和环境搭建
- 创建Django项目和应用
- 设计数据模型和创建数据库
- 创建后台管理界面和页面路由
- 如何使用后台管理界面进行增删改查操作
环境搭建
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来快速地创建、编辑和删除博客文章。
- 创建文章
在后台管理页面中,我们可以点击添加按钮,跳转到添加文章的页面,可以通过填写表单来创建一篇新的文章。
- 编辑文章
在文章列表中,我们可以点击文章标题,跳转到编辑文章页面,可以通过修改表单内容来更新文章信息。
- 删除文章
在文章列表中,我们可以选中要删除的文章,然后点击删除按钮来删除文章。
- 查询文章
在文章列表中,我们可以使用表单输入关键字,然后点击搜索按钮来根据关键字查询文章信息。
示例:
首先,我们需要在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技术站