下面是详细讲解“Django怎么在admin后台注册数据库表”的完整攻略。
1. 定义数据库模型
首先,我们需要在models.py
文件中定义数据库模型。例如,我们创建一个Article
模型来存储文章的相关信息,代码如下:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100, verbose_name='标题')
content = models.TextField(verbose_name='内容')
created = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
updated = models.DateTimeField(auto_now=True, verbose_name='更新时间')
在这个模型中我们定义了title
,content
,created
和updated
四个字段,分别表示文章的标题、内容、创建时间和更新时间。我们使用了Django自带的models.Model
类来创建这个模型,然后定义了每个字段的类型和属性。例如,CharField
表示一个字符串类型的字段,max_length
属性指定了最大长度为100,verbose_name
则指定了用于显示的名称。
2. 安装app
下一步,我们需要在settings.py
文件中注册这个app。打开settings.py
文件,找到INSTALLED_APPS
配置项,然后将我们创建的app添加到这个列表中。假设我们的app名称为blog
,则配置如下:
INSTALLED_APPS = [
# ...
'blog',
]
3. 数据库迁移
现在,我们需要通过Django的ORM来将这个模型映射到数据库中。执行以下命令:
python manage.py makemigrations
python manage.py migrate
第一条命令会生成一个迁移文件,包含了我们新定义的模型和所做的更改。第二条命令则会将这个迁移文件应用到数据库中,创建相应的表。
4. 注册到后台管理
最后,我们需要将这个模型注册到Django的后台管理中,这样才能方便地通过后台操作数据库。我们需要在admin.py
文件中进行配置。例如,我们将上面定义的Article
模型注册到后台管理,代码如下:
from django.contrib import admin
from .models import Article
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'created', 'updated')
list_filter = ('created',)
search_fields = ('title', 'content')
在这个配置中,我们通过@admin.register
装饰器将Article
模型注册到后台管理界面中。然后,我们定义了一个ArticleAdmin
类来配置这个模型的展示和操作。例如,list_display
属性可以指定在列表中显示哪些字段,list_filter
可以用来过滤指定字段,search_fields
可以指定哪些字段可以被搜索。
现在,我们就可以通过访问/admin
路径来进入管理后台,然后就可以在后台中对文章进行增删改查操作了。
示例说明
list_display
的用法示例
如果我们希望在后台管理中展示文章的标题、内容和创建时间,我们可以将ArticleAdmin
类的list_display
属性配置为:
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'content', 'created')
这样,在后台管理中的文章列表中,就会显示这三个字段了。
list_filter
的用法示例
如果我们希望在后台管理中根据文章创建时间进行过滤,可以在ArticleAdmin
类中添加list_filter
属性,代码如下:
class ArticleAdmin(admin.ModelAdmin):
list_filter = ('created',)
这样,在后台管理中就会出现一个筛选器,可以按照创建时间进行过滤。
以上就是“Django怎么在admin后台注册数据库表”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django怎么在admin后台注册数据库表 - Python技术站