标签: django-cms

django-cms中的默认内容插件

我开始使用django CMS项目.它很棒,采用模块化设计而构建......但实际上我们的客户想要的是更简单:

在这里,在django CMS中,每个页面都可以包含许多内容"插件" - 无论是文本,图像还是其他.但是客户想要为每个新页面自动激活,选择和创建文本插件 - 并在该文本字段上工作.这对他们来说更简单.

有没有人在使用这个CMS系统之前做过类似的事情?或者,您可以推荐任何其他简单的django CMS解决方案?

django content-management-system django-cms

6
推荐指数
1
解决办法
2962
查看次数

django-cms和jQuery

我有一个django网站,运行django-cms非常愉快,但现在我想用jQuery包含一些我自己喜欢的javascript.我对django很新,所以我的问题可能源于此.

Django-cms本身就使用了jQuery,所以如果我将jquery添加到标题中 - 事情会毫不奇怪地破坏rathter.如何在不影响django-cms的情况下添加自己的jQuery?

目前我的javascript文件存储在我在项目settings.py中定义的媒体根目录中,如上所述,我在标题中引用它们.

在我读到这篇文章时,这似乎是一个愚蠢的问题,但我仍然感到困惑.

编辑::一些代码

我有一个媒体根定义:

MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
Run Code Online (Sandbox Code Playgroud)

在我的基本模板中,标题包括

<script src="/media/javascript/jquery.js" type="text/javascript"></script>
<script src="/media/javascript/application.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

application.js中的Javascript可以工作,但是当django-cms的东西启动它就会中断.例如,尝试将插件添加到占位符会导致:

Uncaught TypeError: Property 'type' of object function ( selector, context ) {
        // The jQuery object is actually just the init constructor 'enhanced'
        return new jQuery.fn.init( selector, context );
    } is not a function
Run Code Online (Sandbox Code Playgroud)

我以为这是因为两个jQuerys相互冲突

::另一个编辑::我应该补充一点,我正在使用django来托管静态文件,因为它仍在开发中......

django jquery django-cms

6
推荐指数
1
解决办法
3343
查看次数

django cms搜索多个站点?

我在django cms的单个实例中设置了多个站点,并使用haystack进行搜索(使用Solr).但是,我得到的search_indexes.py似乎没有任何效果.就像它被忽略了一样,使用了一个默认的.为什么我的search_indexes.py没有生效?

我有以下内容:

settings.py:

HAYSTACK_SITECONF = 'mysite.search_sites'
Run Code Online (Sandbox Code Playgroud)

search_sites.py:

from cms.models import monkeypatch_reverse
import haystack

monkeypatch_reverse()
haystack.autodiscover()
Run Code Online (Sandbox Code Playgroud)

mysite的/应用/ search_indexes.py:

from django.conf import settings
from django.utils.translation import string_concat, ugettext_lazy
from django.utils.html import strip_tags

from haystack import indexes, site

from cms.models.managers import PageManager
from cms.models.pagemodel import Page
from cms.models.pluginmodel import CMSPlugin

def page_index_factory(lang, lang_name):
    if isinstance(lang_name, basestring):
        lang_name = ugettext_lazy(lang_name)

    def get_absolute_url(self):
        if 'cms.middleware.multilingual.MultilingualURLMiddleware' in settings.MIDDLEWARE_CLASSES:
            return '/%s%s' % (lang, Page.get_absolute_url(self))
        else:
            return Page.get_absolute_url(self)

    class Meta:
        proxy = True
        app_label = 'cms'
        if …
Run Code Online (Sandbox Code Playgroud)

django search django-cms

6
推荐指数
1
解决办法
1021
查看次数

Ruby On Rails CMS受DjangoCMS的启发

我需要为几个相当大的网站选择和定制Ruby CMS(最好基于Ruby On Rails).我知道Radiant CMS,Refinery CMS并且Locomotive是rails中最着名的CMS,但它们都不包括我需要的所有功能.以下是这些CMS中(有时)缺少的主要非平凡功能:


  • 页面主要内容:每个页面主要内容(每个菜单项)可以显示:
    • "类别"的文章列表(如博客)
    • 从类别中提取的单个文章
    • 使用WYSIMYM编辑器创建的单个页面(例如,这是RefineryCMS的基本功能)
    • 链接(库中的外部或内部资源,如上载的文档)
    • 需要特定开发的自定义页面(订阅表单,...经典rails控制器)

  • 模板管理:
    • 我应该能够跨多个页面重用"模板".例如,模板可以是具有几个"占位符"的布局,例如一个"主占位符"(将包含页面的主要内容)和"侧边栏占位符".当管理员在管理界面中构建新页面时,他应该能够选择他将使用的模板.
    • 模板的占位符就像页面一样,可以在admin中编辑(例如,sidebard的内容).当然,使用此模板的所有页面都会更新.

RQ:这个模板/占位符功能部分存在于DjangoCMS中


  • "插件":占位符的内容应该填充我可以在多个模板上重用的自定义插件.例如,我可以编写一个Twitter插件,显示用户的最后10条推文(插件的参数).所以在模板编辑页面中,我可以在"side placeholder"中添加这个插件.

插件的概念存在于例如DjangoCMS中


  • WYSIWYM/WYSIWYG编辑器:在使用WYSIWYM编辑器创建的文章或页面的内容中,我应该能够
    • 从librairy插入指向内部资源的链接,例如之前上载的PDF文档
    • 从内部图书馆插入内部图像
    • 插入图像的幻灯片
    • 从Youtube插入视频

  • 站点:可以在不同域上的不同站点的页面上显示诸如文章列表(文章类别),文档之类的资源.Everythings通过简单的管理站点进行管理

  • 多语种(文章/页面可以翻译)

你会选择什么?为什么?

我应该从头开始重建自定义解决方案吗?

有没有人实现的这些功能之一(Radiant CMS,Refinery CMS,或Locomotive为实例)?

感谢您对此的任何帮助或建议!

ruby-on-rails content-management-system django-cms

6
推荐指数
1
解决办法
1474
查看次数

django-cms没有正确路由到静态URL?

我还是相对较新的Django并且刚开始在Django-CMS上闲逛,但是,我无法通过官方文档的基本介绍.

我的问题可能与sekizai有关,但感觉它是urls.py中的基本网址问题.

基本上,我几乎完全按照教程.唯一的区别是我有我的cms应用程序在blog /,完整路径〜/ workspace/djangocms/blog /.我已经设置了STATIC_URLSTATIC_ROOT正常下settings.py和我一样去MEDIA_URLMEDIA_ROOT.

我调出了媒体路径和目录,因为如果我将我的基本模板设置为链接到css {{ MEDIA_URL }}css/somecss.min.css就可以了.但是,对STATIC_URL执行相同操作:{{ STATIC_URL }}css/somecss.min.css不起作用并生成404.

另外,据我所知,默认/静态/路由似乎适用于其他目录.通过{% cms_toolbar %}从/static/cms/css/plugins/cms.toolbar.css这样的地方生成fine和css生成的代码正在正常提供.

urls.py的内容

from django.conf.urls.defaults import *                                         
from django.contrib import admin
from django.conf import settings

admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'blog.views.home', name='home'),
    # url(r'^blog/', include('blog.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', …
Run Code Online (Sandbox Code Playgroud)

django-cms

6
推荐指数
2
解决办法
6238
查看次数

Django CMS App Hook教程

我有一个Django CMS项目,需要创建一个非CMS应用程序"Achievemnets".客户希望完全控制页面设计,这意味着页面应该是CMS页面.但是我已经创建了特定的视图来显示页面中的所有achievemtns并单击更多链接,它将详细显示.我需要将它移植到Django CMS我根据Django CMS文档中的CMS App Hook方法尝试过.但它们都不起作用.

请告诉我一个有助于学习CMS App Hooking的教程

python django django-urls django-views django-cms

6
推荐指数
1
解决办法
3819
查看次数

Django CMS - 无法通过cmsplugin_filer_image上传图像

我有一个关于django cms 2.3.3的本地安装的问题:我已经通过pip安装它,在一个单独的virtualenv中.接下来我按照settings.py配置教程,启动了服务器.然后在管理员我创建了一个页面(主页),我试图通过cmsplugin_filer_image在占位符中添加一个图像,但上传似乎不起作用.这是我的settings.py:

# Django settings for cms1 project.
# -*- coding: utf-8 -*-
import os
gettext = lambda s: s
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
    'NAME': 'cms1',                      # Or path to database file if using sqlite3.
    'USER': 'cms',                      # Not used with sqlite3.
    'PASSWORD': 'cms',                  # Not used with sqlite3. …
Run Code Online (Sandbox Code Playgroud)

python django django-admin django-file-upload django-cms

6
推荐指数
1
解决办法
5272
查看次数

Django-CMS - 全球占位符?

有没有办法在我的基本模板中创建全局占位符?我需要在每个页面上都相同(横幅列表).我怎样才能做到这一点?

django placeholder django-cms

6
推荐指数
2
解决办法
3216
查看次数

django-cms"摘要视图"聚合来自多个页面的内容

Django == 1.5.1 django-cms == 2.4.1

我想在django-cms中从所选页面的所有子页面中创建类似摘要视图的内容,为每个列出的子项提取更多...链接的标题,截断内容等.我已经成功获得了标题和路径,但我很难从占位符获取内容.

我有这样的模板标签:

from cms.models import Page
from cms.utils.page_resolver import get_page_from_path

from django import template


register = template.Library()


@register.inclusion_tag('news_summary_item.html')
def get_news_items():
    news_root = get_page_from_path('news')
    newsitems = news_root.children.filter(published=True)
    return {'newsitems':newsitems}
Run Code Online (Sandbox Code Playgroud)

这是它使用的模板:

{% load cms_tags menu_tags %}
<ul>
{% for item in newsitems %}
    <li><a href="/{{ item.get_path }}">{{ item.get_title }}</a>
        {% for placeholder in item.placeholders.all %}
            # {% show_placeholder placeholder.slot item current_language %} #
        {% endfor %}
    </li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助获取占位符内容吗?理想情况下,id喜欢能够通过truncatewords_html传递它来获得摘要,但是可以通过其他方式获得相同的效果.

感谢您的任何提示/指示!

django django-templates django-cms

6
推荐指数
1
解决办法
1275
查看次数

使用Django CMS的自定义用户模型。无法解析cms.PageUser的基础

我正在尝试将自定义用户模型与Django CMS结合使用。我使用以下模型创建了新的用户应用程序:

users.models:

from django.db import models
from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

这里是项目设置:

设置:

INSTALLED_APPS = [
    'djangocms_admin_style',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.admin',
    'django.contrib.sites',
    'django.contrib.sitemaps',
    'django.contrib.staticfiles',
    'django.contrib.messages',
    'users',
    'cms',
    'menus',
    ...
]

AUTH_USER_MODEL = 'users.User'
Run Code Online (Sandbox Code Playgroud)

为什么我有这个错误?

manage.py makemigrations用户

django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'cms.PageUser'>]
This can happen if you are inheriting models from an app with migrations (e.g. contrib.auth)
 in an app with no migrations; …
Run Code Online (Sandbox Code Playgroud)

django django-cms

6
推荐指数
2
解决办法
369
查看次数