标签: django-cms

在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
查看次数

使用 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
查看次数

django_cms ImproperlyConfigured:导入中间件cms.middleware.media时出错

我正在移动一个应用程序,它使用django_cms从一个服务器,一切正常,另一个,并花了最后4个小时试图找到这个错误的原因.一个建议非常欢迎!

 mod_wsgi (pid=21972): Exception occurred within WSGI script '/var/www/vhosts/compdoctest.com/django/compdoc/django.wsgi'.
 Traceback (most recent call last):
   File "/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 230, in __call__
     self.load_middleware()
   File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 42, in load_middleware
     raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
 ImproperlyConfigured: Error importing middleware cms.middleware.media: "No module named media"
Run Code Online (Sandbox Code Playgroud)

违规行是settings.py中间件列表中的最后一行

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'cms.middleware.page.CurrentPageMiddleware',
    'cms.middleware.user.CurrentUserMiddleware',
    'cms.middleware.multilingual.MultilingualURLMiddleware',
    'cms.middleware.media.PlaceholderMediaMiddleware',
    )
Run Code Online (Sandbox Code Playgroud)

如果我删除最后一行,那么代码会继续并且稍后会说中间件中需要该项.

我在旧服务器上使用略有不同版本的django,1.2.1 final,在新服务器上使用1.2.3 final.

我试过的所有事情:

  • 同样版本的django_cms - 2.1.0 beta 3 - 在旧服务器上使用
  • github上的最新版本 - 2.1.0.beta2-550将cms,mptt,菜单,发布者文件夹放入
  • app从python导入
  • 谷歌(没有人遇到我能找到的同样问题)
  • 中间件文件直接(没问题)

在python中打开的结果:

python manage.py …
Run Code Online (Sandbox Code Playgroud)

django django-cms

7
推荐指数
1
解决办法
8302
查看次数

选择开始页面django-cms

django-cms始终使用最顶层的页面作为开始/登陆页面.我现在想要一个看起来像这个foo-home-bar的导航和home作为登陆页面.

一种方法是在/重定向到/ home添加一个虚拟页面,但这对我来说似乎有点粗糙.有没有更好的解决方案?我不介意改变cms本身的代码.

django django-urls django-cms

7
推荐指数
1
解决办法
5847
查看次数

关于Heroku dumpdata的Django不完整输出

我一直试图转储数据的相对少量的(80行左右的django-cms text plugin1)经由Heroku的工具区远程:

heroku run python manage.py dumpdata text
Run Code Online (Sandbox Code Playgroud)

但我得到随机不完整的输出 每次跑步都接近EOF (大概是缓存?).

11:09 PM $> heroku run python manage.py dumpdata text | wc -c
108351
11:09 PM $> !!
120629
11:09 PM $> !!
122693
11:10 PM $> !!
122949
11:10 PM $> !!
153419
11:13 PM $> !!
120877
Run Code Online (Sandbox Code Playgroud)

有人碰到类似的东西吗?我正在使用带有postgresql的Django 1.4.

1虽然,它是HTML o_0的blob:请参阅docs.

编辑:假设这只是一个限制?pg_dump的/ restore是我的"备份"计划.

python django heroku django-cms

7
推荐指数
2
解决办法
1267
查看次数

如何查找Django-CMS的版本号

我正在为已经安装了Django和Django-CMS的服务器添加一个新站点.如何检测已安装的Django-CMS的版本号?

谢谢!

django-cms

7
推荐指数
1
解决办法
3702
查看次数

如何在夹层中添加自定义模板页面?

我一直在玩夹层楼几天,我一直在关注这个博客,这非常有帮助.

我现在正处于需要制作一堆需要基于自定义模板的页面的位置.我的自定义模板被调用content.html

我把它放进去myProject > myApp/theme folder > templates > pages > content.html但是当我查看管理控制台时,我没有在下拉菜单中看到内容.

如何让夹层识别我的content.html页面作为模板?

django templates django-cms mezzanine

7
推荐指数
2
解决办法
8255
查看次数

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的自定义用户模型。无法解析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
查看次数