Mezzanine 搭建 BLOG 系统
Mezzanine 搭建 BLOG 系统 1. 创建 python 虚拟环境
-
查看虚拟环境列表
conda info --envs -
创建虚拟环境 mezzenv
conda create -n mezzenv python=3 - 进入虚拟环境 mezzenv
source activate mezzenv
- pip install mezzanine
-
mezzanine-project mezzblog
-
cd mezzblog
-
python manage.py createdb
- python manage.py runserver 0.0.0.0:8066
-
访问 http://127.0.0.1:8066/admin/
默认账号admin
默认密码default
-
进入 Content > Pages 配置导航、 页脚信息
-
进入 Content > Blog posts 添加分类、发布文章
- 进入 Site > Settings 配置网站 Site Title、Tagline
mezzblog └── mezzblog ├── __init__.py ├── settings.py ├── local_settings.py ├── urls.py ├── sgi.py
修改 mezzblog/mezzblog/settings.py 文件
-
配置 Homepage 为 Blog
注释代码#url("^$", direct_to_template, {"template": "index.html"}, name="home"),
取消注释 url("^$", "mezzanine.blog.vies.blog_post_list", name="home"), -
去掉导航栏 Search 输入框的可选项
添加配置项SEARCH_MODEL_CHOICES = []
-
去掉左侧边连和页脚
添加配置项PAGE_MENU_TEMPLATES = ( (1, "Top navigation bar", "pages/menus/dropdon.html"), )
Tips: 要完全去掉左侧边连和页脚,还要修改模板文件base.html。稍后第 8 小节介绍 base.html 在哪,以及如何修改
-
在新建中新建一个应用,命名为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", # ... )
将 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" %} -
调整布局元素宽度,将左边栏占据宽度减小,中间正文部分宽增加
{% block left_panel %} {% endblock %} {% block main %}{% endblock %}Tips: 通过修改 Bootstrap 栅格布局样式 col-md- 实现
-
执行 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.vies.static import serve as static_serve if settings.DEBUG is False: urlpatterns += [ url(r'^static/(?P.)$', static_serve, {'document_root': settings.STATIC_ROOT}), ]
至此,通过 Mezzanine 搭建 Blog 的项目结构基本完成,后续样式和布局的修改在 theme 应用下修改即可。
用 Mezzanine 搭建 Blog 对于新手最大的阻碍在弄不清去哪修改模板和样式,模板和样式文件在创建项目时并没有自动生成。
需要执行以下两条关键命令,在当前项目下生成模板和静态文件
python manage.py collecttemplates python manage.py collectstatic
注本人主要从事前端方向开发,刚接触 Django 不久,以上理解难免有误。欢迎留言指出~
空调维修
- 我的世界电脑版运行身份怎么弄出来(我的世界
- 空调抽湿是什么意思,设置抽湿的温度有什么意
- 方太燃气灶有一个打不着火 怎么修复与排查方法
- 夏季免费清洗汽车空调的宣传口号
- 清洗完空调后出现漏水现象
- iphone6能玩什么游戏(iphone6游戏)
- 如何设置电脑密码锁屏(如何设置电脑密码锁屏
- win10删除开机密码提示不符合密码策略要求
- 电脑w7显示不是正版(w7不是正版怎么解决)
- 万家乐z8热水器显示e7解决 怎么修复与排查方法
- 1匹空调多少瓦数(1匹空调多少瓦)
- 安卓手机连接电脑用什么软件好(关于安卓手机
- 电脑网页看视频卡是什么原因(爱拍看视频卡)
- 华帝燃气灶点火器一直响然后熄火怎么办:问题
- 电脑壁纸怎么换(关于电脑壁纸怎么换的介绍)
- 冬天空调的出风口应该朝什么方向(冬天空调风