使用python的Djongo完成如下要求应该怎么写(Djongo的框架已经搭建,并且已经连接了数据库):创建模型表 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条
时间: 2023-12-31 14:06:53 浏览: 74
CodeDjango:Django是一个高级Python Web框架,鼓励快速开发和简洁实用的设计。 它由经验丰富的开发人员构建,可以解决Web开发的大部分麻烦,因此您可以专注于编写应用程序而无需重新发明轮子。 它是免费和开源的-web development source code
首先,我们需要在Djongo中定义上述三个模型表。以下是模型表的代码:
```python
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=50, verbose_name='姓名')
age = models.IntegerField(verbose_name='年龄')
email = models.EmailField(verbose_name='邮箱')
gender = models.CharField(max_length=10, verbose_name='性别')
def __str__(self):
return self.name
class Book(models.Model):
title = models.CharField(max_length=100, verbose_name='书名')
price = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='价格')
author = models.ForeignKey(Author, on_delete=models.CASCADE, verbose_name='作者')
def __str__(self):
return self.title
```
然后,我们需要在Django中创建一个管理页面来管理'作者'表。以下是admin.py文件的代码:
```python
from django.contrib import admin
from .models import Author
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]
def get_inline_instances(self, request, obj=None):
if not obj:
return list()
return super(AuthorAdmin, self).get_inline_instances(request, obj)
class BookInline(admin.TabularInline):
model = Book
extra = 5
admin.site.register(Author, AuthorAdmin)
```
现在,我们已经完成了要求,可以通过运行服务器并访问/admin页面来查看结果。
阅读全文