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页面

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

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

相关推荐
wuyk55515 分钟前
21.计数排序:不用比较的“空间换时间”排序算法
python·算法·排序算法
智码看视界16 分钟前
第4篇:循环神经网络及其变体 LSTM/GRU 实战
python·自然语言处理·gru·lstm·循环神经网络·情感分析·梯度消失
Web3&Basketball17 分钟前
Agent外传审计实战:3类失准事故拦截脚本
python·大模型·agent·性能调优·推理优化
何以解忧,唯有..28 分钟前
Milvus 向量数据库的 DDL、DML、DQL 操作详解
python
罗狮粉 9929 分钟前
AI-Gateway — 面向 AI Agent 的本地 Runtime Gateway
人工智能·python·inscode·ai编程
蓝胖的四次元口袋33 分钟前
Python数据结构知识梳理
python
程序员清风33 分钟前
生产级智能体平台设计:任务编排、工具管理与运行监控
人工智能·python·aigc
高级程序源1 小时前
django招聘网站信息爬取与分析系统79704-计算机课程设计、毕业设计
后端·python·mysql·小程序·django·flask·课程设计
Madison-No71 小时前
基于JMeter工具的性能测试(接口)
python·jmeter·postman
小白快快跑哦1 小时前
python-字符串全解(五):字符串格式化表达式以及格式化方法(2)
python·字符串格式化方法