标签: django-cms

Django-cms Apphook url 未加载

我有一个 django-cms 项目,其中包含一个名为 core 的应用程序。在核心内部,我创建了一个文件“cms_app.py”,如下所示:

# -*- coding: utf8 -*-
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _

class CoreApphook(CMSApp):
    name = _(u"Core Apphook")
    urls = ["core.urls"]

apphook_pool.register(CoreApphook)
Run Code Online (Sandbox Code Playgroud)

在我的 core/urls.py 中,我有以下代码:

# -*- coding: utf8 -*-
from django.conf.urls.defaults import patterns, include, url

urlpatterns = patterns('',

        # URLS refrentes ao apphook CoreApphook
        url(r'^$', 'noticia.views.ultimas_noticias'),
        url(r'^noticias/$', 'noticia.views.ultimas_noticias'),
        url(r'^noticias/(?P<categoria>[\w\d-]+)/$', 'noticia.views.noticias_categoria'),
        url(r'^noticias/(?P<categoria>[\w\d-]+)/(?P<pagina>\d+)/$', 'noticia.views.noticias_categoria_paginated'),
        url(r'^noticias/(?P<categoria>[\w\d-]+)/(?P<subcategoria>[\w\d-]+)/(?P<titulo>[\w\d-]+)/$', 'noticia.views.noticia'),
        url(r'^paginacao/noticias/$', 'noticia.views.noticias_categoria_paginated'),
    )
Run Code Online (Sandbox Code Playgroud)

我试图达到这个观点:

url(r'^noticias/(?P<categoria>[\w\d-]+)/(?P<subcategoria>[\w\d-]+)/(?P<titulo>[\w\d-]+)/$', 'noticia.views.noticia'),
Run Code Online (Sandbox Code Playgroud)

通过使用这个网址:

http://127.0.0.1:8000/noticias/filmes/acao/lol-e-poka-zuera/
Run Code Online (Sandbox Code Playgroud)

但是文件 urls.py 没有被 Apphook 加载。我已经在“Noticias”和“Noticias”的每个子页面中设置了 …

python django url django-cms

5
推荐指数
1
解决办法
2093
查看次数

显示已发布页面和草稿页面的页面上的Django-CMS外键

我最近从Django-CMS 2.3.5升级到2.4.1.

以前我有一个这样的模型:

from django.db import models
from cms.models.pagemodel import Page

class MyModel(models.Model):
    my_page = models.ForeignKey(Page)
Run Code Online (Sandbox Code Playgroud)

在管理员中,这将很好地允许我选择要关联的页面MyModel.

现在我已经升级,并在我的所有页面上按下"发布草稿",同一管理页面在其选择框中显示每个页面的两个副本 - 一个已发布,一个草稿.

一些进一步的调查发现,teaser插件在其定义中添加了以下内容来处理:

    page_link = models.ForeignKey(Page,
        limit_choices_to={'publisher_is_draft': True},
        ...)
Run Code Online (Sandbox Code Playgroud)

同样,我曾经能够在我的视图中查找页面URL,如下所示:

Page.objects.get(reverse_id='update').get_absolute_url()
Run Code Online (Sandbox Code Playgroud)

但现在我必须使用:

Page.objects.get(reverse_id='update', publisher_is_draft=False).get_absolute_url()
Run Code Online (Sandbox Code Playgroud)

这看起来有点难看.

limit_choices_to和额外的领域中get,现在有必要吗?或者是否有更简洁的方式来查看已发布的页面?(例如,我注意到其他cms插件,例如链接,图片,使用没有limit_choices_to参数的外键.)

django django-cms

5
推荐指数
1
解决办法
2042
查看次数

django-cms用户无法添加页面

django 1.5.1 django cms 2.4.2

我正在学习django-cms,正在我的第一个测试网站上工作.我搜索了这个网站并搜索了这些问题,但找不到任何答案,这就是为什么我在这里发帖....任何帮助将不胜感激!

通过管理页面(作为超级用户),我添加了一个除了其他权限之外还有添加/更改/删除页面权限的组.

我创建了一个用户并将用户分配给该组.

首先,如果我没有将该用户指定为工作人员,那么他们无法访问管理站点以便开始登录 - 这对我来说没有意义:用户从来没有选择的重点是什么登录?或者是否有我遗漏的东西 - 除了管理网站本身之外还有另一种登录方式.

其次,在将用户标记为工作人员并记住用户是具有添加/编辑/删除页面权限的组的成员之后,当用户登录时,他可以执行其他管理任务,但他仍然获得了权限但仍然无法添加/编辑/删除页面.虽然页面显示为对象,但没有指向页面列表的链接.

django-cms

5
推荐指数
1
解决办法
1452
查看次数

django cms弹出窗口高度太大了

我正在使用DjnagoCMS 3,我对所有编辑弹出窗口都有烦人的问题.当页面内容比浏览器窗口更大(更高)时会发生这种情况.当我尝试编辑文本或任何cms插件(双击内容)时,它会显示弹出窗口,但它的高度比监视器分辨率的高度更高. 灰色ractangle是弹出窗口,但它的内容是在浏览器窗口之外

如果内容长度不是很大,一切都还可以. 对于小页面弹出窗口是可以的

问题出在django cms的js/css中.

django-cms

5
推荐指数
1
解决办法
491
查看次数

使用 djangoCMS render_model 自定义包含模板标签

我用 djangoCMS 创建了一个网站,并大量使用了 apphooks、cms 插件、向导等。我们有一个简单的应用程序,只有一个模型包含应该显示在主页上的核心数据。

models.py

from django.db import models
from django.utils.text import slugify
from django.urls import reverse

from cms.models.fields import PlaceholderField
from djangocms_text_ckeditor.fields import HTMLField


class Programme(models.Model):
    name = models.CharField(max_length=60, unique=True)
    slug = models.SlugField()
    icon = models.CharField(max_length=50, unique=True)
    introduction = HTMLField()
    overview = PlaceholderField(
        'programme_overview',
        related_name='programmes_overview'
    )

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse(
            'programmes:programme-detail',
            kwargs={'slug': self.slug}
        )

    def save(self, *args, **kwargs):
        if not self.pk:
            self.slug = slugify(self.name)
        super(Programme, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

为此,我决定创建一个自定义包含模板标签。

templatetags/programmes_tags

from django import template

from …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-cms

5
推荐指数
1
解决办法
294
查看次数

如何转储django-cms相关内容以便与运行实例一起迁移?

我有类似的问题需要解决.我的数据库在生产环境中经常更改,因此我想在本地准备我的cms内容并将其与生产数据库一起迁移.我怎样才能做到这一点?

在django-cms中应该有一个方便的方式来完成这样的任务.

database migration django django-cms

4
推荐指数
1
解决办法
1433
查看次数

Pip包安装与预先安装的依赖项

我想从指定的本地目录(从GitHub下载)安装一些python包 requirements.txt

-e ./src/django-django-eca4737
-e ./src/divio-django-appmedia-55835b6
-e ./src/ojii-django-sekizai-25c64f4
-e ./src/ojii-django-classy-tags-f2076f6
-e ./src/theatlantic-django-south-471b16b
-e ./src/etianen-django-reversion-bdb9e8e
-e ./src/django-mptt-django-mptt-7d3e111
-e ./src/jezdez-django-appconf-53c5de7
-e ./src/jezdez-django_compressor-c726239
-e ./src/mongodb-mongo-python-driver-fcb88ee
-e ./src/divio-django-cms-66fbff0
PIL
wsgiref
Run Code Online (Sandbox Code Playgroud)

但是,在pip从本地目录(pip install -r requirements.txt)安装包之后,它还将它们作为DjangoCMS依赖项(相同版本!)从远程repos安装它们.怎么避免这个?

python django pip django-cms

4
推荐指数
1
解决办法
1033
查看次数

django cms - 用slug解析页面url

是否有可能通过其slug解析页面网址?就像是:

from django.core.urlresolvers import reverse
reverse('pages-details-by-slug',{slug:'my-page-slug'})
Run Code Online (Sandbox Code Playgroud)

但我得到了:

NameError: name 'slug' is not defined
Run Code Online (Sandbox Code Playgroud)

对此有何帮助?

django django-views django-cms

4
推荐指数
1
解决办法
3441
查看次数

Django CMS多级下拉菜单

我是Django CMS的新手,我尽力避免询问,但这个让我发疯.我创建了一个带有Topic和Category模型的Wiki应用程序.我将它连接到CMS上的网站并将其添加到我的菜单中.现在,我希望能够在我的菜单上显示所有顶级类别,他们的子类别和主题,以及这些类别的子类别等.

Menu/Navigation should look like this:

Wiki
    Category1
        Category1.1
            Topic
        Category1.2
        Topic
    Category2
        Topic
    Category3
        ...

Right now i can only show the Top categories:

Wiki
    Category1
    Category2
    Category3
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个menu.py来获取我的Wiki上的自定义子菜单(您在上面看到的那个):

menu.py

class WikiSubMenu(CMSAttachMenu):
    name = _("Wiki Sub-Menu")

    def get_nodes(self, request):
        nodes = []
        categories = Category.objects.filter(parent_id__isnull=True)

        for c in categories:
            node = NavigationNode(
                mark_safe(c.name),
                c.get_absolute_url(),
                c.id,

            )

            nodes.append(node)

        return nodes

menu_pool.register_menu(WikiSubMenu)
Run Code Online (Sandbox Code Playgroud)

我的分类型号:

class Category(models.Model):
    ''' Category model. '''
    name = models.CharField(max_length=100)
    slug = models.SlugField(unique=True)
    description = models.TextField(blank=True)
    parent = …
Run Code Online (Sandbox Code Playgroud)

recursion menu tree-structure parent-child django-cms

4
推荐指数
1
解决办法
3644
查看次数

强制禁用Django CMS中的缓存

我一直在Django CMS安装中开发一些应用程序,并发现它可以很好地缓存我的订单.这可能不是生产中的问题,但在我测试布局时,不得不等待10分钟(或重新启动内存缓存)变得非常无聊.

我可以在开发设置中全局禁用Django CMS的缓存吗?

django django-cms

4
推荐指数
1
解决办法
1030
查看次数