Python之Web开发中级教程----创建Django子应用

Python之Web开发中级教程----创建Django子应用

  1. 基于上一个教程的Django项目(可以先看上一集,链接如下:)

https://mp.csdn.net/mp_blog/creation/editor/136724897

2.创建子应用

python manager.py startapp book

admin.py:跟网站的后台管理站点配置相关。

apps.py:用于配置当前应用的相关信息。

Migrations目录:用于存放数据库迁移历史文件。

models.py:用户保存数据库模型类。

tests.py:用于开发测试用例,编写单元测试。

views.py:用于编写Web应用视图。

3.在项目中注册应用

虽然创建了应用,但还没跟项目工程建立联系。

(1)在项目工程的settings.py中,INSTALLED_APPS项添加应用的配置信息文件apps.py中的Config类

4、建立MVT模型

Tip:

MVT设计模式中的Model, 专门负责和数据库交互.对应(models.py)

由于Model中内嵌了ORM框架, 所以不需要直接面向数据库编程.

而是定义模型类, 通过模型类和对象完成数据库表的增删改查.

ORM框架就是把数据库表的行与相应的对象建立关联, 互相转换.使得数据库的操作面向对象.

不需要定义主键字段, 在生成表时会自动添加, 并且值为自增长.

默认采用sqlite3数据库来存储数据

1)Model

(1)定义模型类

BookManager的数据关系:书籍和书中的人物

BookInfo书籍信息表

字段名 字段类型 字段说明
id AutoField 主键
name CharField 书名
id name
1 西游记
2 三国演义

PeopleInfo人物信息表

字段名 字段类型 字段说明
id AutoField 主键
name CharField 人名
gender BooleanField 性别
book ForeignKey 外键
id name gender book
1 孙悟空 False 1
2 白骨精 True 1
3 曹操 False 2
4 貂蝉 True 2

(2)编写Models.py的代码

from django.db import models

Create your models here.

准备书籍列表信息的模型类

class BookInfo(models.Model):

创建字段,字段类型...

name = models.CharField(max_length=10)

准备人物列表信息的模型类

class PeopleInfo(models.Model):

name = models.CharField(max_length=10)

gender = models.BooleanField()

外键约束:人物属于哪本书

book = models.ForeignKey(BookInfo,on_delete=models.CASCADE)

(3)Model迁移建表

生成迁移文件:根据模型类生成创建表的语句

复制代码
python manage.py makemigrations

执行迁移:根据上一个命令生成的语句在数据库中创建表

复制代码
python manage.py migrate

2)View

(1)定义视图

视图就是一个Python函数,被定义在应用的views.py中.

视图的第一个参数是HttpRequest类型的对象reqeust,包含了所有请求信息.

视图必须返回HttpResponse对象,包含返回给请求者的响应信息.

需要导入HttpResponse模块 :from django.http import HttpResponse

定义视图函数 : 响应字符串OK!给客户端

(2)编写views.py的代码

From Django.shortcuts import render

#导入HttpResponse模块

From Django.http import HttpResponse

#Create your views here

#定义视图函数

Def index(request):

Return HttpResponse('OK!')

(3)配置URLconf

在项目中定义URLconf 添加

from django.urls import path,include

path('',include('book.urls')),

在应用中定义URLconf 添加 path('',include('book.urls')),

新建urls.py文件,写入如下的代码:

from django.urls import path

from book.views import index

Urlpatterns = [

Path('index/',index),

]

3)Template

需要漂亮的界面,就采用Template,本项目输出简单,省略Template,可以参见后续教程。

测试:请求访问:http://127.0.0.1:8000/index/

对应的源代码可以在下面的链接下载:

https://download.csdn.net/download/zhengyuanyehit/88971158

相关推荐
这里有鱼汤4 小时前
【花姐小课堂】新手也能秒懂!用「风险平价」打造扛造的投资组合
后端·python
CodeSheep4 小时前
当了leader才发现,大厂最想裁掉的,不是上班总迟到的,也不是下班搞失联的,而是经常把这3句话挂在嘴边的
前端·后端·程序员
吃饺子不吃馅4 小时前
✨ 你知道吗?SVG 里藏了一个「任意门」——它就是 foreignObject! 🚪💫
前端·javascript·面试
IT_陈寒4 小时前
Python开发者必须掌握的12个高效数据处理技巧,用过都说香!
前端·人工智能·后端
gnip12 小时前
企业级配置式表单组件封装
前端·javascript·vue.js
一只叫煤球的猫13 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
excel14 小时前
Three.js 材质(Material)详解 —— 区别、原理、场景与示例
前端
掘金安东尼14 小时前
抛弃自定义模态框:原生Dialog的实力
前端·javascript·github
databook17 小时前
Manim实现闪光轨迹特效
后端·python·动效
hj5914_前端新手18 小时前
javascript基础- 函数中 this 指向、call、apply、bind
前端·javascript