标签: django-cms

如何在django-cms中自定义菜单模板?

有人可以提供我自定义django-cms菜单模板的样本吗?

我试图menu.htmlcms包文件夹中查找默认值,但找不到任何内容.

谢谢.

django-cms

9
推荐指数
1
解决办法
7899
查看次数

django-cms的自定义错误页面

据说使用django-cms时服务器403/404/500错误页面是一项微不足道的任务.按照旧论坛帖子上的说明创建:

from cms.views import details

def custom_404(request):
    response = details(request, 'page-not-found')
    response.status_code = 404
    return response
...
Run Code Online (Sandbox Code Playgroud)

Urls.py有一些像这样的行:

handler404 = 'error_pages.views.custom_404'
...
Run Code Online (Sandbox Code Playgroud)

来自traceback django cms找不到404页面:

File "/home/username/.virtualenvs/venv/lib/python2.7/site-packages/cms/views.py", line 22, in _handle_no_page
    raise Http404('CMS: Page not found for "%s"' % slug)

Http404: CMS: Page not found for "page-not-found"
Run Code Online (Sandbox Code Playgroud)

显然在django-cms中添加了slug所需的自定义页面:'page-not-found'.我错过了一些明显的东西吗 在生产服务器上运行debug=False.运行django-cms 2.4.2(编辑)

也许用硬编码的样式表来提供简单的错误消息会更好吗?

django django-cms

9
推荐指数
1
解决办法
2342
查看次数

django oscar和djangocms

我有兴趣将django-cms用于内容管理,将django oscar用于电子商务.

有人可以给我一些方向,最好是已经成功结合两者的人:

[A]该结构应该是一个基础奥斯卡站点,修改奥斯卡模板以插入必要的占位符以允许cms等...,

要么

[B]结构应该是基础django-cms站点,奥斯卡是由插件等处理的......

我的直觉是它应该是[A],但如果我错了,请纠正我.

任何其他建议将不胜感激,因为网上很少,我写信给奥斯卡的作者没有回应.我知道这个链接,它不涉及实现,只比较兼容性.

python django django-cms django-oscar

9
推荐指数
1
解决办法
1077
查看次数

是否有推荐的方法来处理从本地开发到prod的页面部署?

例如,假设我在本地处理FAQ页面.我创建了我需要的任何插件/模板等.然后,在本地,我继续将插件添加到页面,调试,修改任何内容.现在是时候将它部署到生产中了.

我再次重做所有工作,复制/粘贴内容并重建FAQ页面,还是有另一种方法?我想到的事情:

  • 创建表示结构/内容的数据迁移

  • 将生产数据库同步到dev db,进行更改并在停机时间窗口内将其全部推回.

在Django CMS社区中是否有任何其他解决方案来处理这类事情?

数据迁移似乎是最好的方法,但我想我会确定我没有遗漏任何东西.

django-cms

9
推荐指数
1
解决办法
227
查看次数

如何从每个页面访问django-cms中的所有页面对象?

我正在使用Django CMS 2.1.0.beta3并遇到问题.我需要访问变量中的所有页面,以便我可以使用for循环遍历它们并创建导航菜单.django cms提供的show_menu功能对我正在做的事情不起作用.

我需要一个包含所有页面的查询集,所以我可以做类似以下的事情:

{% for page in cms_pages %}
    {{ page.title }}
{% endfor %}    
Run Code Online (Sandbox Code Playgroud)

有谁知道如何访问所有已发布的页面对象,如所有页面上的那样?

python django django-cms

8
推荐指数
1
解决办法
6649
查看次数

在DjangoCMS插件中使用Sekizai addtoblock的正确方法

我正在开发一个DjangoCMS插件,它包含一个javascript文件.插件的Javascript依赖于网站其他部分所使用的库.所以,这是我现在所拥有的概念部分:

Basetemplate.html

{% load cms_tags sekizai_tags and_a_bunch_of_other_stuff %}
<html>
...
<head>
{% render_block "css" %}
</head>
<body>
...
{% addtoblock "js" %}[jquery]{% endaddtoblock %}
{% addtoblock "js" %}[google api, data, more cool stuff like jqplot.]{%endaddtoblock%}
{% addtoblock "js" %}[my site's library js.] {% endaddtoblock %}

{% render_block "js" %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

现在在为我的DjangoCMS自定义插件加载的模板中,

great_calendar_plugin_template.html

{% load sekizai_tags and_a_couple_other_things %}
{% addtoblock "js" %}[plugin javascript file dependency]{%endaddtoblock %}
{% addtoblock "js" %}[plugin javascript file]{% endaddtoblock %}
....
Run Code Online (Sandbox Code Playgroud)

因此,无论我做什么,插件javascript文件都被放置在JQuery和所有其他依赖项之上的最终HTML中,而不是放在它们所属的下面.我在这里错过了什么?

谢谢.

django django-cms django-sekizai

8
推荐指数
1
解决办法
4455
查看次数

Django CMS页面标题不呈现

我目前正在开发一个使用django-registration和Django CMS的项目.当显示实现django-registration的页面时,我的页面标题不会呈现.

目前有<title>{% page_attribute page_title %}</title>base.html,我的所有模板都继承自.

在不使用django-registration的页面中,标题显示得很好,但是django-registration显示为 <title></title>

我的页面都在CMS中创建,其他所有内容都正确呈现.如果我在模板中明确设置标题,标题将呈现,但我宁愿在CMS中设置它.

registration_form.html的相关部分如下:

{% extends "base.html" %}
{% load cms_tags %}
{% load i18n %}
{% block "html_headers" %}
   <!-- conditional stuff here -->
  <link href="/media/css/forms.css" rel="stylesheet" type="text/css" />
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

谢谢!

django-templates django-cms django-registration

8
推荐指数
1
解决办法
3128
查看次数

Django CMS - 检查占位符是否为空

我用:

  • DjangoCMS 2.4
  • Django 1.5.1
  • Python 2.7.3

我想检查我的占位符是否为空.

<div>
    {% placeholder "my_placeholder" or %}
    {% endplaceholder %}
</div>
Run Code Online (Sandbox Code Playgroud)

如果占位符为空,我不希望创建占位符之间的html.

{% if placeholder "my_placeholder" %}
<div>
    {% placeholder "my_placeholder" or %}
    {% endplaceholder %}
</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

html python django django-cms

8
推荐指数
3
解决办法
3149
查看次数

pip需求说明符:逗号的作用

我正在尝试安装特定版本的django-cms,从而执行pip install django-cms==3.0.5.这给了我错误No matching distribution found for django-mptt==0.5.2,==0.6,==0.6.1 (from django-cms==3.0.5).事实上,在github上,setup.py文件指定了要求django-mptt==0.5.2,==0.6,==0.6.1.

规范指出,逗号作为逻辑"与"操作,但显然没有版本可以在同一时间是0.5.2,0.6和0.6.1,因此要求不匹配.只需通过pip install django-mptt==0.5.2工作安装其中一个版本没有问题,但仍然有关于django-cms == 3.0.5的相同错误.

任何人都可以阐明这一点吗?

python django pip django-cms python-2.7

8
推荐指数
1
解决办法
393
查看次数

使用 djangocms 发布页面更改时出现“NodeAlreadySaved”错误

使用djangocms发布页面更改时遇到错误。

当我跑时tail -f /var/log/apache2/error.log,它返回:

treebeard.exceptions.NodeAlreadySaved: Attempted to add a tree node that is already in the database, referer: http://47.95.254.172/?edit
Run Code Online (Sandbox Code Playgroud)

当我允许 settings.py DEBUG= True 并单击“发布页面更改”按钮时:

NodeAlreadySaved at /admin/cms/page/1/en/publish/
Attempted to add a tree node that is already in the database
Request Method: POST
Request URL:    http://47.95.254.172/admin/cms/page/1/en/publish/
Django Version: 3.1.7
Exception Type: NodeAlreadySaved
Exception Value:    Attempted to add a tree node that is already in the database
Exception Location: /root/env1/lib/python3.8/site-packages/treebeard/mp_tree.py, line 326, in process
Python Executable:  /root/env1//bin/python
Python Version: 3.8.5 …
Run Code Online (Sandbox Code Playgroud)

python django mod-wsgi django-cms apache2.4

8
推荐指数
2
解决办法
1003
查看次数