介绍
内容管理系统(CMS)是一个应用程序,旨在帮助人们在网上发布各种类型的内容......至少这就是他们应该做的。
幸运的是,对这个规则有几个杰出的例外 - Mezzanine CMS是其中之一。
基于强大的(可扩展的) Django) Web 框架,Mezzanine 为网页开发人员和在线出版爱好者提供了从一开始就真正顺利的行程,通过其极其直观的网站构建方式。
在这篇DigitalOcean文章中,我们将看到如何准备一个全新的Ubuntu 13云服务器,以便从根本上安装和部署基于Mezzanine CMS的网站。
词典
简介: Django 简介
二、Mezzanine CMS
- 功能 2 第三方支持 3 完整的应用模块
开始:准备你的UbuntuDropplet
四、安装中间隔
- 用于 Mezzanine 2 的 Python 虚拟环境。 安装 Mezzanine & Dependencies
5、与Mezzanine合作
- 创建一个项目
- 启动数据库
- 基本配置
- 测试应用程序
- 创建你的第一个内容
六、做好生产准备
七、总结
Django 简介
Django是一个基于Python(http://python.org/)的编程语言的Web开发框架,是一个非常大的项目和库,它包装和运送了大量的工具和功能给那些期待快速启动的开发人员。
鉴于它们的性质,强大的框架不仅有助于创建自定义应用程序或API,还有助于包装软件,旨在解决特定问题。
微博CMS
Mezzanine - 正如我们所提到的 - 是一个 content management system 建立在受欢迎的Web开发框架Django上面. 虽然它需要一些Python编程语言的知识和某种程度的熟悉Django,开始使用Mezzanine创建一个网站比其他内容管理工具和库更简单,特别是基于其他语言的工具和库。
特色
作为一个CMS,Mezzanine配备了大量有用的功能,涵盖了网页开发人员希望从这些应用程序中获得的大多数常见需求。由于Django非常容易扩展,Mezzanine还包含了许多额外的第三方包,可以帮助您以任何方式塑造您的网站。
以下是Mezzanine CMS的一些流行的功能:
- 计划发布;
- Drag-and-Drop (DaD) 页面订购;
- 主题通过主题市场;
- 帐户管理和电子邮件验证;
- 简单的社交内容共享;
- 移动(例如智能手机,平板电脑等)友好的主题;
- 垃圾邮件过滤;
- URL 缩短;
- Disqus 和 Gravatar 集成;
- 自动部署;
- 内置博客引擎;
- 视觉内容编辑;
- 标签;
还有很多。
第三方支持
利用Django的扩展功能,Mezzanine目前支持大量额外的库和模块,旨在帮助开发人员满足他们的各种需求。
其中一些受欢迎的第三方模块是:
- mdown:
使用 Markdown 创建和发布内容的 Widgets 和过滤器。
- ** 主题:**
Django 的主题收藏(因此 Mezzanine)。
- ** CAPTCHA:**
自动支持 mezzanine 表单构建程序的 captcha。
- ** 幻灯片:**
响应式幻灯片显示。
- 日历: **
适用于 Mezzanine 的日历实施。
- ** 播客:**
播客管理员
- ** 页面图像:**
轻松为 Mezzanine 页面添加个别背景图像。
主条目:Twitter
帮助管理Twitter主题。
- 食谱: *
发布版插件。
完整应用模块
一些Mezzanine模块允许创建具有独特功能的完整Web应用程序,例如电子商务网站。
** 其中一些受欢迎的定制模块是:**
卡特里:
网上购物 / 电子商务模块。
- ** 标签:**
多用户图标应用程序。
投票申请。
- ** 职业:**
工作岗位发布申请。
- Wiki:
维基解决方案。
开始:准备您的Ubuntu VPS
Mezzanine 是一个 Python 项目,你需要正确调节你的系统,以便在没有错误或错误的情况下设置和运行你的网站。
如果您尚未为此做好准备,请快速转到我们的Ubuntu/Python文章:
继续使用下面的 Mezzanine 安装说明。
安装 mezzanine
我们将利用辉煌的Python工具 _virtualenv_来安装和包含Mezzanine及其依赖性,因此,在本节中,我们将开始创建一个环境。
用于 Mezzanine 的 Python 虚拟环境
如果你还没有,创建一个虚拟环境:
1virtualenv mezzanine_env
2cd mezzanine_env
或者激活它:
1source bin/activate
安装 Mezzanine 和 依赖
一旦我们的环境准备好了,我们可以使用 pip 包管理器来安装 Mezzanine 和所有依赖。
运行以下命令以使用pip
安装 Mezzanine:
1pip install mezzanine
您可能还需要安装 pillow
1pip install pillow
与 mezzanine 合作
作为一个基于Django的工具,Mezzanine配备了类似Django的功能,其中一个配送与Mezzanine的项目是mezzanine-project
,用于管理任务。
让我们开始与Mezzanine合作。
创建一个项目
使用 Mezzanine 创建新网站就像运行单个命令一样简单:
1# Usage: mezzanine-project [project name]
2# Example:
3mezzanine-project mezzanine_app
4
5# Enter the application directory:
6cd mezzanine_app
启动数据库
Mezzanine为Django的标准manage.py
管理工具带来了一些补充,例如创建
指令。
运行以下操作来创建和启动样本数据库:
1python manage.py createdb
执行此命令后,您将被问到一系列问题:
1# You just installed Django's auth system,
2# which means you don't have any superusers defined.
3# Would you like to create one now? (yes/no):
4yes
5# ^^ Create an admin account by answering the questions.
6
7# Please enter the domain and optional port in
8# the format 'domain:port'.
9# For example 'localhost:8000' or 'www.example.com'.
10# Hit enter to use the default (127.0.0.1:8000):
11www.example.com:80
12# ^^ Enter your domain name.
13
14# Would you like to install some initial demo pages?
15# Eg: About us, Contact form, Gallery. (yes/no):
16yes
17# ^^ Create sample data.
回答了这些问题后,是时候检查应用程序了。
基本配置
为了避免错误并以正确的方式做事,虽然不是绝对必要的,我们需要执行某些配置。
让我们用nano
文本编辑器编辑settings.py
文件:
1nano settings.py
向下滚动并找到ALLOWED_HOSTS
,即:
1ALLOWED_HOSTS = []
用它取代:
1# ALLOWED_HOSTS = [] # comment out
2# Example (From Django documentation):
3ALLOWED_HOSTS = [
4 '.example.com', # Allow domain and subdomains
5 '.example.com.', # Also allow FQDN and subdomains
6]
7
8# Replace example.com with your own domain name.
随后,直接进入评论块下方,并找到:
1TIME_ZONE =
把它替换成你自己的,例如:
1TIME_ZONE = 'Europe/Amsterdam'
保存和退出,按 CTRL + X 并用 Y 确认。
测试应用程序
运行以下命令来运行样本应用程序服务器,查看您的全新Mezzanine应用程序:
1python manage.py runserver 0.0.0.0:8000
您可以通过访问端口 8000 上的滴滴来检查您的安装:
1http://[your droplet's IP]:8000
** 注意:** 要终止测试服务器,请按 CTRL+C。
创建你的第一个内容
让我们发布一些新的内容,看看使用Mezzanine是多么容易。
请访问 admin 部分,转到:
1http://[your droplet's IP]:8000/admin
使用您已设置的管理员凭证登录并按登录
。
从这里,您可以发布一个快速的博客帖子,或者在内容下滑菜单上滚动标本,选择您想要编辑的任何项目,例如:
- ** 页面:**
http://[your droplet's IP]:8000/admin/页面/页面/
准备好生产
当您完成创建 Mezzanine 项目时,您应该尝试避免依赖应用程序提供的测试服务器。
对于部署,必须使用一个完整的Web应用程序服务器(例如Unicorn),最好是背后的反向代理程序,以处理请求的初始处理和静态文件的分发,如图像。
要快速了解如何进入生产,请参阅我们的文章如何准备Ubuntu云服务器用于Python Web应用程序
的部分标题。
摘要
如果你已经通过了这篇文章一次,或者只是喜欢一个快速总结的安装说明,让你开始,检查下面:
1# Preare the system and install Python tools:
2aptitude update
3aptitude -y upgrade
4aptitude install -y build-essential
5aptitude install -y cvs subversion git-core mercurial
6aptitude install python-setuptools python-dev python2.7-dev python-software-properties libpq-dev
7aptitude install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev
8curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python -
9curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
10export PATH="/usr/local/bin:$PATH"
11pip install virtualenv
12
13# Create a virtual environment:
14virtualenv mezzanine_env
15cd mezzanine_env
16source bin/activate
17pip install mezzanine
18
19# Create a Mezzanine project:
20mezzanine-project mezzanine_app
21cd mezzanine_app
22python manage.py createdb --noinput
23
24# Run the testing server:
25python manage.py runserver 0.0.0.0:8000
** 注意:** 使用--noinput
旗下的最后一项命令将允许您启动数据库,而无需提问。 您的管理员用户名将是admin
,您的密码将是默认
。