django创建一个新的项目
设置静态文件,更改settings配置,在最后添加
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
在Bookmanager目录下创建static目录,目录结构如下:
设计表:(表与表的关系,表结构)
修改models.py文件
from django.db import models
# Create your models here.
class AuthorDetail(models.Model):
gf = models.CharField(max_length=32)
tel = models.CharField(max_length=32)
class Author(models.Model):
name = models.CharField(max_length=32)
age = models.IntegerField()
# 与AuthorDetail建立一对一的关系
# ad=models.ForeignKey(to="AuthorDetail",to_field="id",on_delete=models.CASCADE,unique=True)
ad = models.OneToOneField(to="AuthorDetail", to_field="id", on_delete=models.CASCADE, )
class Publish(models.Model):
name = models.CharField(max_length=32)
email = models.CharField(max_length=32)
addr = models.CharField(max_length=32)
class Book(models.Model):
title = models.CharField(max_length=32, unique=True)
price = models.DecimalField(max_digits=8, decimal_places=2, null=True)
pub_date = models.DateField()
# 与Publish建立一对多的关系,外键字段建立在多的一方
publish = models.ForeignKey(to="Publish", to_field="id", on_delete=models.CASCADE)
# 与Author表建立多对多的关系,ManyToManyField可以建在两个模型中的任意一个,自动创建关系表book_authors
authors = models.ManyToManyField(to="Author")
连接数据库
没有使用pycharm,需执行
python manage.py makemigrations
python manage.py migrate
pycharm点击Tools里面的Run manage.py Task
先执行
manage.py@Bookmanager > makemigrations
再执行
manage.py@Bookmanager > migrate
django默认使用的是sqllite数据库,可以看到5张表已经创建好了
app_author 作者表
app_authordetail 作者详情表
app_book 书籍表
app_book_authors 作者与书籍关系表
app_publish 出版社详情表
往表里面添加数据
app_publish表, 出版社详情表
app_authordetail,作者详情表
app_author,作者表
app_book,书籍表
app_book_authors, 作者书籍关系表
添加路由