2、Django基础二
python: 3.6.5
django: 2.1.8
1. 项目准备
1.1 配置虚拟环境
pip3 install pipenv
mkdir test && cd test/
pipenv --python 3.6.5
pipenv shell1.2 安装Django
((test) ) [root@k8s test]# pipenv install django==2.1.81.3 创建项目
((test) ) [root@k8s test]# django-admin startproject project1.4 修改时区
''' settings.py
ALLOWED_HOSTS = ["*"]
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
'''1.5 创建超级管理员

1.6 创建APP应用及注册
2. 项目
2.1 数据模型分析
分类: 一个分类下有多个文章
标签: 一个文章下有多个标签,一个标签下有多个文章
文章: 标题、摘要、内容、创建时间、修改时间、归属分类、归属标签、作者
2.2 数据模型创建
blog/models.py
2.3 数据库迁移
2.4 Admin后台注册模型
blog/admin.py

3. Django 博客首页 和 详情页
3.1 URL分析
首页: 域名根路径
文章: 每个文章对应不同的URL
当用户访问 <网站域名>/post/1/ 时,显示的是第一篇文章的内容,
当用户访问 <网站域名>/post/2/ 时,显示的是第二篇文章的内容。这里数字代表了第几篇文章,
3.2 创建 urls.py 文件
blog/urls.py
3.3 首页||文章详情视图
blog/views.py
3.4 Model中自定义ID方法
blog/models.py
3.5 项目 urls.py 添加 APP 路径映射
project/urls.py
3.6 html 文件
3.5 设置静态文件static和模板templates文件
这里 static 与 项目同级, 存放静态文件
这里 templates 与 项目同级, 存放 html 文件

4. Admin后台集成 markdown 格式编写
参考: https://pypi.org/project/django-mdeditor/
4.1 安装django-mdeditor
4.2 注册 mdeditor APP
project/settings.py
4.3 添加 mdeditor URL
project/urls.py
4.4 修改数据库字段类型
blog/models.py
4.5 生成数据文件迁移到数据库
4.6 测试是否正常

4.7 django-mdeditor 错误
我们启动项目,进入文章发布页面。提示出错:
解决办法: 注释这一行

5. 渲染代码高亮显示,自动生成侧边目录
5.1 安装插件
5.2 修改原 view.detail 视图
5.3 修改详情页: detail.html
5.4 测试效果

5.5 界面太丑,使用开源摸版(百度一下)
例如: (自行删除,和继承)

6. 定制摸版标签
6.1 定制摸版标签
我的APP名是blog, 那我这里创建的 blog_template_tags.py ,存放摸版的标签 (如果APP多并且需要多个摸版标签的,可以单独创建一个 python 的文件包,所有的摸版标签放在单独的文件内)
blog/blog_template_tags.py
6.2 注册摸版标签
project/settings.py
6.3 使用摸版标签
templates/blog/base.html
6.4 测试效果

Last updated