Django框架的使用(Django项目)

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

    python   manage.py        startapp     Blog1

这里新生成的Blog1为项目真正的python包
记住,编写应用后要在主框架里添加应用
在settings文件中
Django框架的使用(Django项目)_第1张图片
项目要求:

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

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

  1. 查找之间的关系

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

创建数据库时, 表名: book_category

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

Django框架的使用(Django项目)_第4张图片
阅读量的显示
以及反向引用
通过get_url函数,因为给视图函数命名为blog/detail,所以这里通过视图函数的反向引用返回到了views.detail函数,详情在从urls文件中

3.数据表的后台迁移
在Blog1/admin文件里实现后台迁移
Django框架的使用(Django项目)_第5张图片
在数据库内完成同步

   python  manage.py     makemigrations
   python  manage.py     migrate  

这个和flask里的数据库迁移较为相似
在这里插入图片描述
会多出一个文件
在这里插入图片描述
数据库
Django框架的使用(Django项目)_第6张图片
数据库和Django结合后会自动生成一个blog_post_tags表格

Django框架的使用(Django项目)_第7张图片

4.样式设置
在这里我给Django项目中添加了些许样式
放在了/static/目录里,所以在路径里面加上
路径的添加都在settings文件里
Django框架的使用(Django项目)_第8张图片

5.主从url地址转换
主url地址
Django框架的使用(Django项目)_第9张图片
从url地址
Django框架的使用(Django项目)_第10张图片
此处我的主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框架的使用(Django项目)_第11张图片Django框架的使用(Django项目)_第12张图片值得一提,Django的渲染模板第一个参数是request
post.objects.all( ) 返回的是所有内容
detail函数还应用了markdown语法,会有高量显示
对应的html页面内容
detail.html
Django框架的使用(Django项目)_第13张图片
index.html
Django框架的使用(Django项目)_第14张图片以及存放位置
Django框架的使用(Django项目)_第15张图片
因为高亮显示在detail页面上,所以给主体内容,即post.body后加 | safe
保证代码不会被反义转换
base.html
Django框架的使用(Django项目)_第16张图片
Django框架的使用(Django项目)_第17张图片
注意:挖坑是在不同处挖坑,相同处继承

7.成果展示
这里我的static/css/highlights里有高亮文件
我写了几个博客例子
Django框架的使用(Django项目)_第18张图片这是index.html的显示效果
点击继续阅读或者标题名浏览博客
下面是三个博客内容
Django框架的使用(Django项目)_第19张图片

Django框架的使用(Django项目)_第20张图片
当点击继续阅读时,阅读量就会加一
下面是高量显示代码
Django框架的使用(Django项目)_第21张图片写入代码时注意前面用三个顿号圈起来,这是高亮显示
在数据库中我们同样也能看到所有内容

你可能感兴趣的:(Django后端)