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

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

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

相关推荐
Hooray1133 分钟前
前后端分离_案例学习_Python+Flask+VUE3
后端·python·学习·flask
小二·42 分钟前
Python 学习教程(第2篇):用 Flask 开发你的第一个 Web 应用
python·学习·flask
落叶,听雪1 小时前
河南AI建站
人工智能·python
数据大魔方2 小时前
【期货量化入门】期权交易入门:从零开始学期权量化(TqSdk完整教程)
数据库·python·mysql·算法·区块链·程序员创富
@zulnger2 小时前
python 学习笔记(文件和目录操作)
笔记·python·学习
zuozewei2 小时前
零基础 | 基于LangChain的角色扮演聊天机器人实现
python·langchain·机器人
Dxy12393102162 小时前
Python如何使用DrissionPage做自动化:简单入门指南
开发语言·python·自动化
石去皿2 小时前
从本地知识库到“活”知识——RAG 落地全景指南
c++·python·大模型·rag
hui函数2 小时前
Python系列Bug修复PyCharm控制台pip install报错:如何解决 pip install 网络报错 企业网关拦截 User-Agent 问题
python·pycharm·bug
a努力。2 小时前
虾皮Java面试被问:JVM Native Memory Tracking追踪堆外内存泄漏
java·开发语言·jvm·后端·python·面试