Django框架的使用(Django项目)

本文详细介绍使用Django框架搭建博客项目的过程,包括应用创建、数据表构建、后台迁移、样式设置、URL配置、视图函数定义及高亮显示。涵盖模型设计、数据库操作、前后端交互等关键步骤。

此项目的目的是设计一篇博客
1.编写app应用
继承上一篇博客

    python   manage.py        startapp     Blog1

这里新生成的Blog1为项目真正的python包
记住,编写应用后要在主框架里添加应用
在settings文件中
在这里插入图片描述
项目要求:

  1. 博客需要的表结构
    **博客表
    文章标题 文章正文 文章发布时间 文章的分类 文章的标签

独立两个表
1). 分类表: id 分类名
2). 标签表: id 标签名

  1. 查找之间的关系

博客和分类: n:1(多的一端写外键, 少的一端不用写)
博客和标签: n:n(ManyToManyField, 写在任意一端)

创建数据库时, 表名: book_category

2.数据表的构建
我们在真正的python包中,即Blog1中的models.py文件里写入数据表
如下
在这里插入图片描述
这是文章分类和标签
单复数都叫‘文章分类‘和‘标签‘ (verbose_name)
在这里插入图片描述
这是博客类和他的所有属性
many to many是多对多
数据库中有一个自带的User表

在这里插入图片描述
阅读量的显示
以及反向引用
通过get_url函数,因为给视图函数命名为blog/detail,所以这里通过视图函数的反向引用返回到了views.detail函数,详情在从urls文件中

3.数据表的后台迁移
在Blog1/admin文件里实现后台迁移
在这里插入图片描述
在数据库内完成同步

   python  manage.py     makemigrations
   python  manage.py     migrate  

这个和flask里的数据库迁移较为相似
在这里插入图片描述
会多出一个文件
在这里插入图片描述
数据库
在这里插入图片描述
数据库和Django结合后会自动生成一个blog_post_tags表格

在这里插入图片描述

4.样式设置
在这里我给Django项目中添加了些许样式
放在了/static/目录里,所以在路径里面加上
路径的添加都在settings文件里
在这里插入图片描述

5.主从url地址转换
主url地址
在这里插入图片描述
从url地址
在这里插入图片描述
此处我的主url地址是在Django/urls文件中
而从url地址是在Blog1/urls文件中写
Blog1是虚拟环境,数据库,app应用的共同名称
输入为127.0.0.1:8000时,会先过主url,再过从url,最后跳转到index函数上
注意:这里的r’^$‘意思是空和 r’'一样
这里的id号对应着第几篇博客

6.定义视图函数以及html内容
这里定义了两个视图函数
分别是index.html和detail.html
同时也是函数名
他们一个是封面,一个是内容
在这里插入图片描述在这里插入图片描述值得一提,Django的渲染模板第一个参数是request
post.objects.all( ) 返回的是所有内容
detail函数还应用了markdown语法,会有高量显示
对应的html页面内容
detail.html
在这里插入图片描述
index.html
在这里插入图片描述以及存放位置
在这里插入图片描述
因为高亮显示在detail页面上,所以给主体内容,即post.body后加 | safe
保证代码不会被反义转换
base.html
在这里插入图片描述
在这里插入图片描述
注意:挖坑是在不同处挖坑,相同处继承

7.成果展示
这里我的static/css/highlights里有高亮文件
我写了几个博客例子
在这里插入图片描述这是index.html的显示效果
点击继续阅读或者标题名浏览博客
下面是三个博客内容
在这里插入图片描述

在这里插入图片描述
当点击继续阅读时,阅读量就会加一
下面是高量显示代码
在这里插入图片描述写入代码时注意前面用三个顿号圈起来,这是高亮显示
在数据库中我们同样也能看到所有内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值