我正在开发一个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中,而不是放在它们所属的下面.我在这里错过了什么?
谢谢.
使用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) 我正在移动一个应用程序,它使用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.
我试过的所有事情:
在python中打开的结果:
python manage.py …Run Code Online (Sandbox Code Playgroud) django-cms始终使用最顶层的页面作为开始/登陆页面.我现在想要一个看起来像这个foo-home-bar的导航和home作为登陆页面.
一种方法是在/重定向到/ home添加一个虚拟页面,但这对我来说似乎有点粗糙.有没有更好的解决方案?我不介意改变cms本身的代码.
我一直试图转储数据的相对少量的(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是我的"备份"计划.
我正在为已经安装了Django和Django-CMS的服务器添加一个新站点.如何检测已安装的Django-CMS的版本号?
谢谢!
我一直在玩夹层楼几天,我一直在关注这个博客,这非常有帮助.
我现在正处于需要制作一堆需要基于自定义模板的页面的位置.我的自定义模板被调用content.html
我把它放进去myProject > myApp/theme folder > templates > pages > content.html但是当我查看管理控制台时,我没有在下拉菜单中看到内容.
如何让夹层识别我的content.html页面作为模板?
我有一个关于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) 有没有办法在我的基本模板中创建全局占位符?我需要在每个页面上都相同(横幅列表).我怎样才能做到这一点?
我正在尝试将自定义用户模型与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-cms ×10
django ×9
python ×3
apache2.4 ×1
django-admin ×1
django-urls ×1
heroku ×1
mezzanine ×1
mod-wsgi ×1
placeholder ×1
templates ×1