Django创建一个应用和模型


前言

今天我们创建一个Django的library应用,

一、Django的应用是什么?

在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。

二、创建步骤

1.创建应用

在项目目录下创建

python manage.py startapp library

2.配置文件settings.py

更给项目目录里的settings.py文件具体更改如下:

1.在INSTALLED_APPS中添加应用目录

在INSTALLED_APPS中添加应用目录主要是把应用添加到项目里,每次创建一个新的应用就及时给应用添加进来。如图
在这里插入图片描述

2.更改DATABASES

DATABASES这里主要是设置要连接的数据库和配置,默认是sqlite3数据库,我们要使用mysql数据库配置如下图:
在这里插入图片描述

3.更改LANGUAGE_CODE

LANGUAGE_CODE默认是英文,我们要使用简体中文就可以更改成”ZH-Hans“

在这里插入图片描述

4.更改TIME_ZONE

TIME_ZONE默认是utc时间,我们需要本地的时间可以设置,以下是设置成亚洲上海时间
在这里插入图片描述

3.配置ursl.py

注:urls.py的配置主要是匹配请求过来的资源路径,根据匹配的资源路径在做下一步处理(返回需要的数据等)

1.配置项目目录下urls.py

更改内容:导入include模块,将资源路径添加进来。(library/这个是可以随意写的但是一般都是和应用一个名字)。
注:include 允许引用其他urlconfs。每当django遇到include()时,它会截断与此项匹配的url部分,并将剩余的字符串发送到urlconf以提供进一步处理,也能放在’fun_library’,'content/library’或者是其他路径下,这个应用都能正常工作。理念是即插即用,因为应用都有自己的urLconf(library/urls.py),他们能够被放在"library/"
在这里插入图片描述

2.配置应用目录下urls.py

创建过应用时应用目录下是没用urls.py文件的,需要自己创建一个这样的文件。在这个文件中添加以下代码。
注:先导入需要响应的视图from library import views(后面会写对应的视图函数,先导入library应用里的视图)path第一个参数是资源请求路径要匹配的,第二个参数是匹配到对应的资源请求路径要响应的内容,第三个参数是起个名字。
在这里插入图片描述

3.编写视图代码view.py

视图view.py在每一个应用里都有一个,是Django处理请求的核心代码层,我们大多数Python代码都集中在这一层面。它对外接收用户请求,对内调度模型层和模版层,统合数据库和前端,最后根据业务逻辑,将处理好的数据,与前端结合,返回给用户。视图层是真正的后端,是Python的‘主营业务’。.
如下:这是编写了一个index函数放回一个http响应都对象响应内容就是字符串里面的,这里编写的函数会和urls.py的结合起来
在这里插入图片描述

4.编写models.py

模型models.py在每一个应用里都有一个,主要用来定义数据库表和规则。Django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表。

from django.db import models

# Create your models here.
#出版商
class Publisher(models.Model):
    name=models.CharField(max_length=30)
    address=models.CharField(max_length=50)
    city=models.CharField(max_length=60)
    state_province=models.CharField(max_length=30)
    country=models.CharField(max_length=50)
    website=models.URLField()
    def __str__(self):
        return self.name
#作者
class Author(models.Model):
    name=models.CharField(max_length=30)
    def __str__(self):
        return self.name
#作者详情
class AuthorDetail(models.Model):
    sex=models.BooleanField(max_length=1,choices=((0,'男'),(1,'女')))
    email=models.EmailField()
    address=models.CharField(max_length=50)
    birthday=models.DateField()
    author=models.OneToOneField(Author,on_delete=models.CASCADE)

#书详情
class Book(models.Model):
    name=models.CharField(max_length=100)
    authors=models.ManyToManyField(Author)
    publisher=models.ForeignKey(Publisher,on_delete=models.CASCADE) 
    publication_date=models.DateField()
    def __str__(self):
        return self.name

5.上传到数据库

#成迁移文件
python manage.py makemigrations
#同步到数据中
python manage.py migrate

在这里插入图片描述

数据库中已经添加进来

在这里插入图片描述

6.编写admin.py

这个文件是编写后台管理的,一个站点或者网站,除了给用户浏览及操作外,还需要对后台数据进行管理,比如添加商品,修改商品等等。Django提供了一个可插拔的后台管理系统------Admin应用,该系统可以从模型中读取元数据,并提供以模型为中心的界面。Admin后台管理系统不仅让管理员可以便捷地管理、发布、维护网站的内容,也为开发人员节约了大量开发时间

from django.contrib import admin
# Register your models here.
from library.models import Publisher,Author,AuthorDetail,Book
# 注册Publisher,Author,AuthorDetail,Book模型到admin站点
admin.site.register(Publisher)
admin.site.register(AuthorDetail)
admin.site.register(Author)
admin.site.register(Book)

7.创建站点管理员

这里创建一个Django后台admin管理账号方便一会使用

python manage.py createsuperuser

在这里插入图片描述

8.安装mysql客户端

由于配置了MySQL数据库就需要安装Mysql客户端

pip install mysqlclient

在这里插入图片描述

9.启动Django项目

py manage.py runserver 

在这里插入图片描述

10.访问页面

1.正常访问页面

打开浏览器输入启动页面的地址加上我们配置的资源路径即可访问。如图:
在这里插入图片描述

1.访问管理页面

打开浏览器输入启动页面的地址加上admin/即可访问。如图:
在这里插入图片描述

输入刚才注册的账号密码登录后台管理页面,这里可以添加删除更改数据。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值