利用软件PyCharm,新建一个book系统, 建立三个数据库表

题目:利用软件PyCharm,新建一个book系统, 建立三个数据库表, book、 author、 publishing, 其中book存储图书信息, author存储作者相关信息,publishing存储出版社相关信息
1)要求book中有publishing字段是外键, 表示book表的记录与publishing表的记录是多对一关系,即一本书只由一个出版社出版,个出版社可以出版多种图书。 外键必须设置on delete属性,
2)列表页面展示这三个表的数据
3)至少个表的页面能实现增删改查功能

步骤1: 创建Django项目和应用

  • 在PyCharm中创建一个新的Django项目。
  • 在项目中创建一个新的Django应用,例如命名为library。

步骤2: 定义模型

在library应用的models.py文件中定义Book、Author、Publishing三个模型。

代码如下:

from django.db import models

class Publishing(models.Model):
    name = models.CharField(max_length=100)
    address = models.CharField(max_length=200)

    def __str__(self):
        return self.name

class Author(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField()

    def __str__(self):
        return self.name

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ManyToManyField(Author)
    publishing = models.ForeignKey(Publishing, on_delete=models.CASCADE)
    publication_date = models.DateField()

    def __str__(self):
        return self.title

步骤3: 迁移数据库

在终端中运行以下命令,以应用模型到数据库:

代码如下:

python manage.py makemigrations
python manage.py migrate

步骤4: 创建Django Admin界面

在library应用的admin.py文件中注册模型,以便在Django Admin界面管理这些表。

代码如下:

from django.contrib import admin
from .models import Book, Author, Publishing

admin.site.register(Book)
admin.site.register(Author)
admin.site.register(Publishing)

步骤5: 创建视图和模板

为了展示这三个表的数据,并实现至少一个表的增删改查功能,需要创建相应的视图和模板。以Book模型为例,展示如何创建一个简单的列表页面。

首先,在views.py中创建一个视图:

代码如下:

from django.shortcuts import render
from .models import Book

def book_list(request):
    books = Book.objects.all()
    return render(request, 'library/book_list.html', {'books': books})

然后,创建一个模板文件book_list.html:

<!DOCTYPE html>
<html>
<head>
    <title>Book List</title>
</head>
<body>
    <h1>Book List</h1>
    <ul>
        {% for book in books %}
        <li>{{ book.title }} by {{ book.author.name }} (Published by {{ book.publishing.name }})</li>
        {% endfor %}
    </ul>
</body>
</html>

步骤6: 配置URLs

最后,需要在urls.py中配置URL,以便访问这个列表页面。

代码如下:

from django.urls import path
from . import views

urlpatterns = [
    path('books/', views.book_list, name='book_list'),
]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值