Mezzanine 搭建 BLOG 系统

1. 创建 python 虚拟环境

查看虚拟环境列表:

conda info --envs

创建虚拟环境 mezzenv:

conda create -n mezzenv python=3

进入虚拟环境 mezzenv:

source activate mezzenv

2. 安装 Mezzanine

pip install mezzanine

3. 新建 mezzblog 项目

mezzanine-project mezzblog

cd mezzblog

python manage.py createdb

python manage.py runserver 0.0.0.0:8066

4. 后台管理 Mezzanine 配置

进入 Content > Pages 配置导航、 页脚信息

进入 Content > Blog posts 添加分类、发布文章

进入 Site > Settings 配置网站 Site Title、Tagline

5. 通过配置文件修改模板风格

mezzblog

└── mezzblog

├── __init__.py

├── settings.py

├── local_settings.py

├── urls.py

├── wsgi.py

修改 mezzblog/mezzblog/settings.py 文件:

配置 Homepage 为 Blog:

注释代码:#url("^$", direct_to_template, {"template": "index.html"}, name="home"),

取消注释:url("^$", "mezzanine.blog.views.blog_post_list", name="home"),

去掉导航栏 Search 输入框的可选项:

添加配置项:SEARCH_MODEL_CHOICES = []

去掉左侧边连和页脚:

添加配置项:PAGE_MENU_TEMPLATES = ( (1, "Top navigation bar", "pages/menus/dropdown.html"), )

Tips: 要完全去掉左侧边连和页脚,还要修改模板文件base.html。稍后第 8 小节介绍 base.html 在哪,以及如何修改

6. 配置 mezzblog 主题样式

在新建中新建一个应用,命名为theme:

python manage.py startapp theme

在 theme 目录下只保留 __init__.py 文件,其他删除:

mezzblog

└── theme

├── __init__.py

自定义 theme/static/css/custom.css 样式文件,覆盖默认样式:

mezzblog

└── theme

├── __init__.py

└── static

└── css

├── custom.css

将 theme 应用添加到 mezzblog/mezzblog/setting.py:

INSTALLED_APPS = (

"theme",

"django.contrib.admin",

"django.contrib.auth",

# ...

)

7. 修改 mezzblog 模板布局

将 Mezzanine 的原始模板汇集到 theme 应用下,覆盖默认模板:

执行 python manage.py collecttemplates 会在项目根目录生成模板文件目录 templates

将 templates 移动到 theme 应用下:

mezzblog

└── theme

├── __init__.py

└── static

└── css

├── custom.css

└── templates

├── base.html

├── ...

去掉左侧边连和页脚(先在 settings.py 文件添加相应配置,见第 5 小节):

删除 base.html 文件中的 3 处代码:

{% page_menu "pages/menus/tree.html" %}

{% page_menu "pages/menus/footer.html" %}

{% spaceless %}

{% block breadcrumb_menu %}{% page_menu "pages/menus/breadcrumb.html" %}{% endblock %}

{% endspaceless %}

调整布局元素宽度,将左边栏占据宽度减小,中间正文部分宽增加:

{% block left_panel %}

{% endblock %}

{% block main %}{% endblock %}

Tips: 通过修改 Bootstrap 栅格布局样式 col-md-* 实现

8. 汇集 Mezzanine 静态文件

执行 python manage.py collectstatic 命令,将 Mezzanine 原始静态文件和自定义的 custom.css 全部拷贝到 theme 应用下。这样,可以在项目中重写静态资源文件,方便部署静态服务。

9. 配置 DEBUG = False

在本地开发时,settings.py 中默认 DEBUG = True,Django 不会限制访问来源,并且会自动寻找静态文件。

当设置 DEBUG = False 时,可能会产生两个问题,可以尝试按以下方式解决:

报 Bad Request(400) 错误

在 settings.py 配置:

ALLOWED_HOSTS = ['*']

找不到项目的静态资源文件

在 urls.py 加入:

from django.views.static import serve as static_serve

if settings.DEBUG is False:

urlpatterns += [

url(r'^static/(?P.*)$', static_serve, {'document_root': settings.STATIC_ROOT}),

]

10. 结语

至此,通过 Mezzanine 搭建 Blog 的项目结构基本完成,后续样式和布局的修改在 theme 应用下修改即可。

用 Mezzanine 搭建 Blog 对于新手最大的阻碍在弄不清去哪修改模板和样式,模板和样式文件在创建项目时并没有自动生成。

需要执行以下两条关键命令,在当前项目下生成模板和静态文件:

python manage.py collecttemplates

python manage.py collectstatic

注:本人主要从事前端方向开发,刚接触 Django 不久,以上理解难免有误。欢迎留言指出~

python搭建博客系统_Mezzanine 搭建 BLOG 系统相关推荐

  1. hugo搭建博客教程-简单搭建

    title: Hugo简单搭建博客 tags: Hugo 博客教程 categories: Hugo keywords: 'Hugo,博客教程' description: 简单的Hugo搭建博客教程, ...

  2. python个人博客网站的搭建说明书_个人博客搭建线上实施方案

    个人博客搭建线上实施方案 在hexo本地实施没有问题的基础上 实施方案 方案一:GithubPages 创建仓库, 仓库名为:.github.io 将本地Hexo博客推送到GithubPages 3. ...

  3. GitHub上搭建博客增加相册功能

    目标 在github上成功搭建Hexo博客 实现在博客上浏览图片,添加图片功能 最终效果:https://wonderxiao.github.io/ 说明 使用主题:hexo-theme-yilia来 ...

  4. flask tutorial = make a blog :) flask 搭建博客系统从零开始!

    please follow the tutorial from the official site :) http://flask.pocoo.org/docs/ You could download ...

  5. 使用Pelican搭建博客系统

    摘要 经过几天的折腾,用Pelican搭建的独立博客系统终于上线运行了.可以打开kamidox.com看一下效果图.由于选用了响应式网页设计的主题,所以在手机上的浏览效果也相当赞.本文介绍了Pelic ...

  6. win10系统用hexo+GitHub搭建博客遇到的坑

    1.repo配置报错 网上很多搭建博客经验分享帖中repo配置写入的是HTTPS(形如:https://.github.com/ /. github. io. git格式).win10系统运行会报错. ...

  7. 使用GitHub Pages搭建博客

    2019独角兽企业重金招聘Python工程师标准>>> 使用GitHub Pages搭建博客 14 Jan 2015 新的一年开始,一定要做点美好的事情.GitHub 是一个开源项目 ...

  8. Ghost 搭建博客小记

    前言 点击 我用 Ghost 搭建的博客 查看成品示例. 早就听说 Ghost 的大名了,不过一直都是处于观望状态.主要是想等 Ghost 各方面再成熟一些,所以迟迟没有行动.最近听闻 Ghost 已 ...

  9. pelican github搭建博客

    Title: 使用Pelican搭建博客系统 Date: 2016-07-30 22:20 Modified: 2016-07-30 22:20 Tags: python, pelican Slug: ...

  10. 轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装

    轻松搭建博客平台-开源ASP.NET 博客Subtext 的安装   开源ASP.NET博客Subtext 目前发布了最新版2.0,是基于.Net Framework 2.0/3.0的开源ASP.NE ...

最新文章

  1. 主流微服务全链路监控系统之战
  2. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍(转)
  3. Springboot 日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的!
  4. Mysql HA实现MYSQL的高可用
  5. 速度提升2倍,超强悍CPU级骨干网络PP-LCNet
  6. finalshell Linux 传输文件 xftp
  7. 使用UIScrollView 实现分页功能
  8. win32按钮按下不弹起_荣耀亲选智能恒温电热水壶,宝爸冲奶粉再也不做难了
  9. jQuery禁止Ajax请求缓存
  10. tcpmp 编译 源代码分析
  11. RabbitMQ 基本概念与高级特性
  12. pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail
  13. 国内规模最大的商业WiFi运营商百米生活挂牌新三板
  14. strassen矩阵乘法 java_Strassen 矩阵算法 Java 实现
  15. Scala关于变长参数
  16. hbase启动后HMaster进程自动关闭
  17. Windows原版系统下载地址列表
  18. WinRAR压缩软件无广告版
  19. 【macOS免费软件推荐】第8期:IINA+
  20. cpu计算机性能指标有哪些,CPU性能指标有哪些

热门文章

  1. python绝对方向角度值_哪个选项是turtle绘图中角度坐标系的绝对0度方向?_学小易找答案...
  2. 搞笑的chitgpt
  3. 如何设计一个C++的类?
  4. C++ 并发编程(C++11 到 C++17 )
  5. 性能调优之JMH必知必会1:什么是JMH
  6. 网络设置巨形帧_修改网卡配置连接千兆网络的详细步骤
  7. ZZULIOJ:1016: 银行利率
  8. 浅谈 GO 语言错误处理
  9. Multimedia
  10. M1芯片电脑安装cerebro