如何安装并开始使用FeinCMS

介绍

其中一个为Django的基于内容管理系统 (CMS)的几种流行的可用选项是FeinCMS 作为一个在Django升级意义上的框架,可以使用FeinCMS简单地创建相对复杂的网站和应用程序。

在这篇DigitalOcean文章中,我们将向您介绍这个有趣的工具,并向您展示如何开始使用FeinCMS内容管理系统框架。

词汇表

Django简介

2.FeinCMS

  1. FeinCMS的优点

3.入门:准备您的Ubuntu Droplet

4.安装FeinCMS

  1. Python虚拟环境
  2. 安装FeinCMS及其依赖

使用FeinCMS

  1. 创建项目
  2. 启动FeinCMS作为Django应用程序
  3. 配置项目设置( settings.py
  4. 配置的URL( urls.py
  5. 创建第一个模型
  6. 启动数据库
  7. 创建模板
  8. 测试应用程序
  9. 创建您的第一个内容

6.准备生产

7.总结

Django简介

Django是一个Python的编程语言的基于Web的开发框架。 作为一个非常大的项目和图书馆,它包装和发运大量的工具和功能的开发人员谁期待着快速开始。

FeinCMS

FeinCMS在技术上更多的是一个框架,而不是一个简单的内容管理系统。 该工具本身试图提供一个良好的基础与许多额外的功能 - 与帮助者在标准的Django之上,开发人员创建网站容易,而无需参考许多额外的附加组件。

与传统的CMS工具不同,使用FeinCMS需要一点点使用。 但是,这带来了很多的灵活性,只是因为某些复杂的任务变得更容易实现与该工具。 例如,为了使用FeinCMS,您必须定义数据类型(即内容数据),如果需要这样复杂的操作,这可能是您开发应用程序的工具。

虽然您需要做一些额外的工作来获得您特别需要的,FeinCMS的助手,像即开即用的管理区域,使其非常适合管理您的自定义内容。

FeinCMS的优点

  • 灵活:在所有基于Django的CMS系统,FeinCMS是最灵活的天性。

  • 定制:所有内容类型的用户(即开发商)创建并铸造-因此呈现FeinCMS高度可定制的。

  • 有据可查的:虽然不是最好的,FeinCMS文档相对较好。

  • 功能丰富:FeinCMS提取了大量的复杂性从多任务的开发商。

入门:准备您的Ubuntu Droplet

FeinCMS是一个Python项目,您需要准确地准备您的系统,以便设置和运行您的网站以坚实的方式。

如果你没有你的VPS准备好,快速回到我们的Ubuntu / Python文章:

并继续下面的FeinCMS安装说明。

安装FeinCMS

我们要充分利用Python的virtualenv中的安装和设置FeinCMS,其依赖在一起。 在本节中,我们将开始创建一个环境并继续。

Python虚拟环境

如果您还没有创建虚拟环境:

virtualenv feincms_env
cd         feincms_env

并激活环境:

source bin/activate

安装FeinCMS及其依赖

运行以下命令来安装feincms_env使用pip

pip install feincms

# Successfully installed feincms Django django-mptt Pillow feedparser

并安装您可能想要使用的任何数据库驱动程序,例如:

# PostgreSQL:
# pip install psycopg2

# MySQL:
# pip install mysql-python

# Note: For additional DB drivers, remember
#       to install OS level DB packages.

工作与FeinCMS

创建项目

使用FeinCMS几乎与常规Django项目相同。

按照以下说明创建新项目:

# Usage: django-admin.py startproject [project name]
# Example:
django-admin.py startproject feincms_app

# Enter the application directory:
cd feincms_app

启动FeinCMS作为Django应用程序

接下来,我们需要配置,我们创建了新的Django项目之前启动FeinCMS为Django应用程序。

运行以下命令以创建FeinCMS Django应用程序:

python manage.py startapp cms

配置项目的设置(settings.py)

与Django CMS类似,我们需要配置我们创建的Django项目。 这将主要包括添加FeinCMS作为安装应用程序 ,然后决定数据库引擎使用的。

让我们编辑settings.py使用纳米文本编辑器文件中:

nano feincms_app/settings.py

向下滚动文件,找到段名为INSTALLED_APPS并改变它:

# From this:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

# To this:

INSTALLED_APPS = (

    # FeinCMS:
    'feincms',
    'feincms.module.page',
    'feincms.module.medialibrary',
    'cms',

    # Django Standard:
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

)

注意:如果django.contrib.admin被注释掉(# django.contrib.admin ),其注释掉。

下一步是添加TEMPLATE_CONTEXT_PROCESSORS设置。

将以下代码块附加到文件:

TEMPLATE_CONTEXT_PROCESSORS = (

    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
    'django.core.context_processors.i18n',
    'django.core.context_processors.request',
    'django.core.context_processors.media',
    'django.core.context_processors.static',

)

预配置的数据库引擎是SQLite 3.如果您希望使用不同于标准的数据库引擎,则需要在此处配置和定义它。 向下滚动文件,找到DATABASES配置块。 一旦有,请根据需要进行编辑,例如:

# Default SQLite:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}    
# PostgreSQL example:
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.postgresql_psycopg2',
#         'NAME': 'name',
#         'USER': 'user_name',
#         'PASSWORD': 'pwd',
#         'HOST': 'host.add.ress',
#         'PORT': '5432',
#     }
# }

一旦完成数据库设置,就可以定义一些模板目录。

在文件上适当的地方添加以下行:

TEMPLATE_DIRS = (

    # List of template directories.
    # Example:
    os.path.join(BASE_DIR, 'templates'),

)

通过按CTRL + X并使用Y确认保存并退出此文件。

配置的URL( urls.py

运行以下编辑urls.py采用纳米配置文件:

nano feincms_app/urls.py

用以下类似的内容替换内容,适合您的需要:

import os

from django.conf.urls import patterns, include, url
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

admin.autodiscover()

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': os.path.join(os.path.dirname(__file__), 'media/')}),
    url(r'', include('feincms.contrib.preview.urls')),
    url(r'', include('feincms.urls'))

) + staticfiles_urlpatterns()

保存并按下退出文件CTRL+X和确认Y

创建第一个模型

正如我们开始提到的,FeinCMS是一个框架,而不是一个简单的,一切提取的CMS。 它需要定义模型才能工作。 因此,在创建数据库模式之前,我们需要定义模型。

执行下面的命令来启动编辑models.pycms ,我们创建Django应用程序:

nano cms/models.py

并使用以下内容替换文件的内容以创建新模型:

from feincms.module.page.models import Page
from django.utils.translation import ugettext_lazy as _
from feincms.content.richtext.models import RichTextContent

Page.register_templates({
    'title': _('General FeinCMS Template Example'),
    'path': 'template1.html',
    'regions': (
        ('header', _('Page header.')),
        ('main', _('Main content area.')),
        ('sidebar', _('Sidebar'), 'inherited'),
        ('footer', _('Page footer.')),
    ),
})

Page.create_content_type(RichTextContent)

按CTRL + X并用Y确认保存并退出。

注意:要了解更多有关页面的机型,检查出一个详细的例子官方文档: FeinCMS页面模块

启动数据库

配置后,是时候启动数据库并创建模型/数据库模式。

运行以下命令以创建数据库:

python manage.py syncdb

一旦你执行这个命令,你会被问一系列的问题,例如:

# 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.
# For testing purposes you can opt for:
# Username: admin
# Password: admin

创建模板

让我们创建我们的模板模型,它将用于从上一步渲染模型。

创建模板目录:

mkdir feincms_app/templates

运行以下命令以使用nano创建第一个模板文件:

nano feincms_app/templates/template1.html

并复制并粘贴以下模板内容,修改以满足您的需要:

<div id="header">
    {% block header %}
    {% for content in feincms_page.content.header %}
        {{ content.render }}
    {% endfor %}
    {% endblock %}
</div>

<div id="content">
    {% block content %}
    {% for content in feincms_page.content.main %}
        {{ content.render }}
    {% endfor %}
    {% endblock %}
</div>

<div id="sidebar">
    {% block sidebar %}
    {% for content in feincms_page.content.sidebar %}
        {{ content.render }}
    {% endfor %}
    {% endblock %}
</div>

<div id="footer">
    {% block footer %}
    {% for content in feincms_page.content.footer %}
        {{ content.render }}
    {% endfor %}
    {% endblock %}
</div>

保存并按下退出CTRL+X和确认Y

测试应用程序

运行以下命令运行示例应用程序服务器:

python manage.py runserver 0.0.0.0:8000

您可以通过访问您的Droplet上的FeinCMS的管理部分检查您的安装:

http://[your droplet's IP]:8000/admin

注意:要终止测试服务器,按CTRL+C

创建您的第一个内容

访问管理员部分,转到:

http://[your droplet's IP]:8000/admin

使用您设置的管理员凭据登录,然后按“登录”。

注意:您可能需要使用默认设置在登录- adminadmin分别。

通过按列表上“页面”旁边的“添加”按钮创建页面。

就这样!

准备好生产

当您完成创建Django CMS项目时,您应该尽量避免依赖于应用程序附带的测试服务器。

对于部署,必须使用完全成熟的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 feincms_env
cd feincms_env    
source bin/activate
pip install feincms

# Create a CMS project:
django-admin.py startproject feincms_app
cd feincms_app
python manage.py startapp cms

# And continue with configurations ..
:提交OS Tezer
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏