介绍
内容管理系统(CMS)是一个应用程序,旨在帮助人们在线发布各种类型的内容...至少这是他们应该做的。随着越来越受欢迎和不断增长的需求,大多数CMS应用程序已经达到了一个程度,他们甚至更难使用比基于框架制定自己的解决方案。 幸运的是,有辉煌的例外情况屈指可数- Mezzanine CMS就是其中之一。 建立在强大的(和可扩展)的顶部Django的 web框架,Mezzanine提供网络开发人员和网络出版爱好者都从一开始就真正平稳,其非常直观的网站建设方式。 在这篇DigitalOcean文章中,我们将看到如何准备一个全新的Ubuntu 13云服务器,从绝对零开始安装和部署基于Mezzanine CMS的网站。接下来,我们将看到如何开始使用这个优雅的库,因为我们发布了我们的第一部分内容。词汇表
Django简介
Mezzanine CMS
- 特征
- 第三方支持
- 完成应用程序模块
3.入门:准备您的Ubuntu Droplet
4.安装Mezzanine
- Python虚拟环境用于Mezzanine
- 安装Mezzanine和依赖关系
使用Mezzanine
- 创建项目
- 启动数据库
- 基本配置
- 测试应用程序
- 创建您的第一个内容
6.准备生产
7.总结
Django简介
Django是一个 Python的编程语言的基于Web的开发框架。作为一个非常大的项目和图书馆,它包装和发运大量的工具和功能的开发人员谁期待着快速开始。如果你愿意花费大量的时间来“学习”一个框架,以便在将来节省一些,Django for Python可能是最好的解决方案。 鉴于其本质,强大的框架不仅有助于创建自定义应用程序或API,而且有助于打包软件,旨在解决一系列特定问题。构建在Django之上的这些定制软件之一是Mezzanine CMS。Mezzanine CMS
Mezzanine-正如我们所说-是建立在流行的Web开发框架的Django之上的 内容管理系统 。虽然它需要一些Python编程语言的知识和一定程度的熟悉Django,开始使用Mezzanine创建一个网站比其他内容管理工具和库,特别是那些基于其他语言简单得多。特征
作为CMS,Mezzanine提供了大量有用的功能,涵盖了Web开发人员从这些应用程序中获得的大多数常见需求。由于Django是如此容易扩展,Mezzanine还包围了许多额外的第三方包,可以帮助你塑造你的网站无论如何,你也喜欢。事实上,Mezzanine本身是一个扩展,或一个Django应用程序。 以下是Mezzanine CMS的一些常用功能:- 计划出版;
- 拖放(DaD)页面排序;
- 通过主题市场
- 帐户管理和电子邮件验证;
- 轻松的社交内容共享;
- 移动(如智能手机,平板电脑等)友好主题;
- 垃圾邮件过滤;
- URL缩短;
- Disqus和Gravatar整合;
- 自动部署;
- 内置博客引擎;
- 视觉内容编辑;
- 标签;
- 自定义单个内容类型及其样式;
- 易迁移;
第三方支持
受益于Django的扩展功能,Mezzanine目前支持大量额外的库和模块,旨在帮助开发人员满足其各种需求。 这些流行的第三方模块包括:- mdown: 小部件和过滤器,使用Markdown创建和发布内容。
- 主题: Django的主题集合(因此Mezzanine)。
- 验证码: Mezzanine表单生成器的自动验证码支持。
- 幻灯片: 响应幻灯片显示。
- 日历: Mezzanine的日历实现。
- 播客: 播客经理。
- 网页图片: 轻松为Mezzanine页添加单个背景图像。
- Twittertopic: 有助于管理Twitter主题。
- Recipe: 配方发布插件。
完成应用程序模块
一些Mezzanine模块允许创建具有独特功能的完整的Web应用程序,例如电子商务网站。 一些这些流行的定制模块是:- 墨盒: 在线购物/电子商务模块。
- 书签: 多用户书签应用程序。
- 投票: 轮询应用程序。
- 职业: 作业发布应用程序。
- 百科: 一个wiki解决方案。
入门:准备您的Ubuntu VPS
Mezzanine是一个Python项目,您需要正确调整您的系统,以设置和运行您的网站没有故障或错误。 如果你还没有准备好这个Droplet,请快速回到我们的Ubuntu / Python文章: 并继续下面的Mezzanine安装说明。安装Mezzanine
我们将利用Python的辉煌工具 的virtualenv,以安装并包含Mezzanine和它的依赖。因此,在本节中,我们将从创建环境开始。Python虚拟环境用于Mezzanine
如果您还没有创建虚拟环境:virtualenv mezzanine_env
cd mezzanine_env
或激活:
source bin/activate
安装Mezzanine和依赖关系
一旦我们有我们的环境准备好了,我们就可以使用 画中画软件包管理器得到Mezzanine,并安装了所有的依赖。 运行以下命令用于安装Mezzaninepip
:
pip install mezzanine
您可能还需要安装
枕头
pip install pillow
使用Mezzanine
作为一个基于Django的工具,Mezzanine带有Django的功能。随Mezzanine一个这样的产品mezzanine-project
是用于管理任务。 让我们开始使用Mezzanine。
创建项目
使用Mezzanine创建新网站与运行单个命令一样简单:# Usage: mezzanine-project [project name]
# Example:
mezzanine-project mezzanine_app
# Enter the application directory:
cd mezzanine_app
启动数据库
Mezzanine带来了一些补充,Django的标准manage.py
管理工具,如
created
说明。 运行以下命令以创建和启动示例数据库:
python manage.py createdb
一旦你执行这个命令,你会被问一系列的问题:
# You just installed Django's auth system,
# which means you don't have any superusers defined.
# Would you like to create one now? (yes/no):
yes
# ^^ Create an admin account by answering the questions.
# Please enter the domain and optional port in
# the format 'domain:port'.
# For example 'localhost:8000' or 'www.example.com'.
# Hit enter to use the default (127.0.0.1:8000):
www.example.com:80
# ^^ Enter your domain name.
# Would you like to install some initial demo pages?
# Eg: About us, Contact form, Gallery. (yes/no):
yes
# ^^ Create sample data.
在回答了这些问题后,现在是检查应用程序的时候了。
基本配置
为了避免错误和做的事情以 正确的方式,虽然不是绝对必要的,我们需要进行一定的配置。 让我们编辑settings.py
使用文件
nano
文本编辑器:
nano settings.py
向下滚动文件,找到
ALLOWED_HOSTS
,即:
ALLOWED_HOSTS = []
替换为:
# ALLOWED_HOSTS = [] # comment out
# Example (From Django documentation):
ALLOWED_HOSTS = [
'.example.com', # Allow domain and subdomains
'.example.com.', # Also allow FQDN and subdomains
]
# Replace example.com with your own domain name.
之后,进入评论区块下方,找到:
TIME_ZONE =
并替换为自己的,例如:
TIME_ZONE = 'Europe/Amsterdam'
按CTRL + X并用Y确认保存并退出。
测试应用程序
运行以下命令运行示例应用程序服务器以检出您的全新Mezzanine应用程序:python manage.py runserver 0.0.0.0:8000
您可以通过在8000端口访问您的Droplet检查您的安装:
http://[your droplet's IP]:8000
注意:要终止测试服务器,按CTRL + C。
创建您的第一个内容
让我们发布一些新的内容,看看使用Mezzanine是多么容易。 访问管理员部分,转到:http://[your droplet's IP]:8000/admin
使用您设置的管理员凭据登录,然后按“登录”。 您将看到仪表板。从这里,您可以发布一个快速博客帖子,或将光标悬停在内容下拉菜单上,然后选择您要编辑的任何项目,例如:
- 页数: http:// [您的Droplet的IP]:8000 / admin / pages / page /
准备好生产
当您完成创建Mezzanine项目时,应尽量避免依赖于应用程序附带的测试服务器。 对于部署,必须使用完全成熟的Web应用程序服务器(例如Unicorn),优选在逆向代理之后,它将处理请求的初始处理和静态文件(例如图像)的分发。 要了解如何去生产,检查出部分的标题上我们的文章“获得可用于生产”快捷总体思路: 如何准备Ubuntu的云服务器对于Python Web的应用程序 。概要
如果您已经阅读了本文一次,或者只是简单地总结一下安装说明,以便开始使用,请查看下面:# Preare the system and install Python tools:
aptitude update
aptitude -y upgrade
aptitude install -y build-essential
aptitude install -y cvs subversion git-core mercurial
aptitude install python-setuptools python-dev python2.7-dev python-software-properties libpq-dev
aptitude install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python -
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
export PATH="/usr/local/bin:$PATH"
pip install virtualenv
# Create a virtual environment:
virtualenv mezzanine_env
cd mezzanine_env
source bin/activate
pip install mezzanine
# Create a Mezzanine project:
mezzanine-project mezzanine_app
cd mezzanine_app
python manage.py createdb --noinput
# Run the testing server:
python manage.py runserver 0.0.0.0:8000
注意:最后一个命令
created
使用
--noinput
标志将允许您启动数据库没有被问的问题。 您的管理员用户名会
admin
,而您的密码
default
。从此,您继续配置和测试。
:提交
OS Tezer