我在新服务器上安装了普通的 django-cms。我安装了所有要求。一切都很顺利,直到我想迁移到数据库(Postgres)。
这就是我所做的:
追溯:
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/websites/fl/flvenv/lib/python3.8/site-packages/django/core/management/_ _init__.py", line 425, in execute_from_command_line
utility.execute()
File "/websites/fl/flvenv/lib/python3.8/site-packages/django/core/management/_ _init__.py", line 401, in execute
django.setup()
File "/websites/fl/flvenv/lib/python3.8/site-packages/django/__init__.py", lin e 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/websites/fl/flvenv/lib/python3.8/site-packages/django/apps/registry.py" , line 114, in populate
app_config.import_models()
File "/websites/fl/flvenv/lib/python3.8/site-packages/django/apps/config.py", line 300, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File …Run Code Online (Sandbox Code Playgroud) 我有一个 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”的每个子页面中设置了 …
我最近从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 1.5.1 django cms 2.4.2
我正在学习django-cms,正在我的第一个测试网站上工作.我搜索了这个网站并搜索了这些问题,但找不到任何答案,这就是为什么我在这里发帖....任何帮助将不胜感激!
通过管理页面(作为超级用户),我添加了一个除了其他权限之外还有添加/更改/删除页面权限的组.
我创建了一个用户并将用户分配给该组.
首先,如果我没有将该用户指定为工作人员,那么他们无法访问管理站点以便开始登录 - 这对我来说没有意义:用户从来没有选择的重点是什么登录?或者是否有我遗漏的东西 - 除了管理网站本身之外还有另一种登录方式.
其次,在将用户标记为工作人员并记住用户是具有添加/编辑/删除页面权限的组的成员之后,当用户登录时,他可以执行其他管理任务,但他仍然获得了权限但仍然无法添加/编辑/删除页面.虽然页面显示为对象,但没有指向页面列表的链接.
我想介绍普通的HTML,而不需要任何编辑器(wymeditor或tinymce).我知道Django-CMS附带Wymeditor但我的问题是复制和粘贴文本很烦人.即使没有格式,Wymeditor也喜欢在我复制时添加样式(没有任何格式).有时候,我甚至不需要在占位符中使用另一个段落(并且它与我的风格混淆).
有没有办法摆脱编辑?此外,有没有办法摆脱特定占位符的编辑器?有时我确实需要它.
注意:我知道我可以创建自己的插件field.textfield(并且它不使用编辑器),但我想使用相同的插件,因为如果我更改插件,我将不得不手动移动所有文本数据库(生产和开发).
我正在使用DjnagoCMS 3,我对所有编辑弹出窗口都有烦人的问题.当页面内容比浏览器窗口更大(更高)时会发生这种情况.当我尝试编辑文本或任何cms插件(双击内容)时,它会显示弹出窗口,但它的高度比监视器分辨率的高度更高.

如果内容长度不是很大,一切都还可以.

问题出在django cms的js/css中.
我正在使用Django CMS,我想备份我的数据库.但是,当我触发查询以取回我的数据库时:
pg_dump -U postgres -h 127.0.0.1 -p 5432 db_name > db_name_backup.sql
Run Code Online (Sandbox Code Playgroud)
触发查询后,我收到以下错误:
pg_dump:[archiver(db)]查询失败:错误:关系django_migrations的权限被拒绝
pg_dump:[archiver(db)]查询是:LOCK TABLE public.django_migrations IN ACCESS SHARE MODE
谁可以帮我这个事?
我刚刚开始使用django-cms创建一个网站,并且开箱即用的功能给我留下了深刻的印象。
但是,我想限制某些页面的查看,以便只有具有特定属性或凭据的注册用户才能查看受限制的页面。
我打算继续进行以下操作:
我的问题是双重的:
答:我上面描述的问题分解是实施解决方案的好方法吗?还是在不重新发明轮子的情况下使用现有软件包的更好方法(如果是,则使用哪种软件包)?
B.如果我必须编写自己的代码,是否有人可以概述实现代码的最佳实践方法-即,对实现要求所遵循的步骤/工作流程进行总体介绍。
[[旁注]]
我来自symfony 1.x的开发背景,而我上面设想的凭据系统是受Symfony 1.x中的凭据框架启发的。
此外,Symfony具有消息传递和过滤器的概念,该概念使您可以在页面请求工作流中插入自定义逻辑。Django是否有类似的“过滤”系统?
我用 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) django-cms ×10
django ×8
python ×4
postgresql ×1
python-3.x ×1
symfony-1.4 ×1
url ×1
wymeditor ×1