使用python的Dhongo实现如下功能(框架已经搭建),要求启动服务后在web页面可以看到相应的页面状态,该怎么设置:创建模型表 1作者表: 拥有以下字段,字段都拥有verbose_name选项 name,age,email,gender 2书表:拥有以下字段,字段都拥有verbose_name选项 title,price,author(关联外键) 3要求截图代码或提交代码文件 创建后台管理页面,页面要求对’作者‘表进行设置 1显示列'name', 'email'字段 2设置'name', 'email'字段查询显示 3设置表'age'字段过滤 4设置字段'email'排序 5设置数据记录分页30条 6设置Main和Advance区块, Main拥有字段'name', 'email'。Advance拥有字段'age', 'gender' 7设置内联显示,显示数据设置为5条
时间: 2024-01-01 14:05:57 浏览: 70
python基于Selenium的web自动化框架
首先,在 Django 中使用 MongoDB 需要使用第三方库 `djongo`,可以通过 pip 安装:
```
pip install djongo
```
接下来,可以先定义两个模型 `Author` 和 `Book`:
```python
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100, verbose_name='姓名')
age = models.IntegerField(verbose_name='年龄')
email = models.EmailField(verbose_name='邮箱')
gender = models.CharField(max_length=10, verbose_name='性别')
class Meta:
verbose_name = '作者'
verbose_name_plural = '作者'
def __str__(self):
return self.name
class Book(models.Model):
title = models.CharField(max_length=200, verbose_name='书名')
price = models.DecimalField(max_digits=8, decimal_places=2, verbose_name='价格')
author = models.ForeignKey(Author, on_delete=models.CASCADE, verbose_name='作者')
class Meta:
verbose_name = '书'
verbose_name_plural = '书'
def __str__(self):
return self.title
```
接着,在 `admin.py` 中注册 `Author` 模型,可以设置 `list_display`、`search_fields`、`list_filter`、`ordering`、`list_per_page` 等选项:
```python
from django.contrib import admin
from .models import Author, Book
class AuthorAdmin(admin.ModelAdmin):
list_display = ('name', 'email')
search_fields = ('name', 'email')
list_filter = ('age',)
ordering = ('email',)
list_per_page = 30
fieldsets = [
('Main', {'fields': ('name', 'email')}),
('Advance', {'fields': ('age', 'gender')}),
]
inlines = [BookInline]
class BookInline(admin.TabularInline):
model = Book
extra = 1
admin.site.register(Author, AuthorAdmin)
admin.site.register(Book)
```
以上代码中,`list_display` 定义要显示的字段,`search_fields` 定义可搜索的字段,`list_filter` 定义可过滤的字段,`ordering` 定义默认排序字段,`list_per_page` 定义每页显示的记录数。`fieldsets` 定义字段分组,`inline` 定义内联显示的模型。
最后,在 `settings.py` 中配置 MongoDB 数据库信息:
```python
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'mydb',
'HOST': 'localhost',
'PORT': 27017,
'USER': '',
'PASSWORD': '',
'AUTH_SOURCE': 'admin',
'AUTH_MECHANISM': 'SCRAM-SHA-1',
}
}
```
然后运行 Django 服务,就可以在后台管理页面中看到 `Author` 和 `Book` 的模型表,以及根据 `AuthorAdmin` 中定义的选项设置 `Author` 表格的显示和操作。
阅读全文