Django图书馆综合项目-学习

图书馆项目

一 前期准备

安装好所需的环境

我这边用的IDE是VScode

操作系统是MACOS

二 先创建一个虚拟环境

复制代码
python3 -m venv myenvbook 

source myenvbook/bin/activate

三 安装 Django

复制代码
pip3 install django==4.2

四 创建 Django 项目

复制代码
django-admin startproject bookproject

五 尝试启动一下

复制代码
python3 manage.py runserver

看到这个界面表明已经成功启动Djaongo服务器了

接下来我们将作者,出版社,书籍的APP分别创建一下

python 复制代码
django-admin startapp book
django-admin startapp author
django-admin startapp publisher

将新创建的app在settings里注册

配置一下模版路径 其他暂时不动

python 复制代码
from django.db import models


# 作者
class Auther(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    email = models.EmailField()
    gender = models.BooleanField(default=True)

    def __str__(self):
        return self.first_name + self.last_name
python 复制代码
from django.db import models


# 出版社
class Publisher(models.Model):
    name = models.CharField(max_length=30)
    address = models.CharField(max_length=100)
    city = models.CharField(max_length=30)
    state_province = models.CharField(max_length=30)
    country = models.CharField(max_length=20)
    website = models.URLField()

    def __str__(self):
        return self.name

在创建book的时候需要导入Auther 和 Publisher

python 复制代码
from django.db import models
from auther.models import Auther
from publisher.models import Publisher


# 书籍
class book(models.Model):
    title = models.CharField(max_length=100, verbose_name="书名")
    publish_date = models.DateField(verbose_name="出版时间")
    auther = models.ForeignKey(Auther, on_delete=models.PROTECT, verbose_name="作者")
    publisher = models.ManyToManyField(Publisher, verbose_name="出版社")

    def __str__(self):
        return self.title

模型创建好之后执行以下迁移

python 复制代码
python3 manage.py makemigrations
python 复制代码
python3 manage.py migrate 

查看一下表是否创建成功

创建一个超级管理员 方便进后台去增加一些数据

python 复制代码
python3 manage.py createsuperuser

在每个APP的admin中添加

python 复制代码
from django.contrib import admin

from auther.models import *

admin.site.register(Auther)

刷新后可以看到后台管理里就有了

其他2个也一样添加一下

添加一些数据后,创建一些urls 这边用子路由结合命名空间的方式去访问

在主路由先添加

创建一些对应的html页面

将视图函数和路由都配置一下

下一节我们再做一些页面的跳转学习

相关推荐
程序猿202318 分钟前
Python每日一练---第三天:删除有序数组中的重复项
开发语言·python
一只游鱼24 分钟前
抖音上的用python实现激励弹窗
开发语言·python
Serendipity_Carl27 分钟前
爬虫数据清洗可视化链家房源
python·pandas·matplotlib
行走在电子领域的工匠31 分钟前
2.2 常用控件
开发语言·python
天才测试猿39 分钟前
Selenium三大等待详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
梨轻巧1 小时前
pyside6安装:下载python、配置环境变量、vscode安装和测试pyside6、可能遇到的错误、pycharm 安装pyside6
python
wu_jing_sheng01 小时前
电商销售数据分析实战:从数据挖掘到业务增长
python
voice6701 小时前
西电现代密码学实验一
开发语言·python·密码学
FriendshipT1 小时前
图像生成:PyTorch从零开始实现一个简单的扩散模型
人工智能·pytorch·python
初学小白...2 小时前
反射概述and获得反射对象
开发语言·python