没有太多细节,我正在构建一个Django站点,我想实现一个CMS解决方案,同时在页面布局,导航和组织方面具有很大的灵活性.
它主要用于我们的文档,到目前为止,我已经有很多头痛试图找出Django CMS的来龙去脉.
有经验的Django开发人员会建议我使用像tiny_mce这样的平面页吗?
好吧,问题在于标题.有可能吗?我可以使用CSS来使链接看起来像旗帜,这很容易,但也有一个文本(英语,法语,德语等)嗯,我会感激任何一种帮助.
我一直在尝试编写一个Django CMS插件,但它没有出现在页面编辑的"可用插件"中,我很不确定为什么因为我已经阅读了另外几个插件的来源试图看看我是什么做错了.就像Django-CMS没有注册插件一样.
目录结构:
/linkrotator
__init__.py
admin.py
cms_plugins.py
links.html
models.py
tests.py
views.py
Run Code Online (Sandbox Code Playgroud)
cms_plugins.py
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
from linkrator.models import LinksPlugin as LinksPluginModel
class LinkListPlugin(CMSPluginBase):
text_enabled = True
model = LinkListPluginModel
render_template = "linkrotator/links.html"
def render(self, context, instance, placeholder):
context.update({'instance':instance})
return context
plugin_pool.register_plugin(LinkListPlugin)
Run Code Online (Sandbox Code Playgroud)
models.py
from django.db import models
from cms.models import CMSPlugin
class LinkListPlugin(CMSPlugin):
linklist = models.ForeignKey('linkrotator.LinkListList', related_name='plugins')
def __unicode__( self ):
return self.linklist.name
class Link(models.Model):
name = models.CharField( max_length = 140 )
in_list = models.ForeignKey( 'linkrotator.LinkList' …Run Code Online (Sandbox Code Playgroud) 我还没有找到一个令人满意的方法:我有一个工作正常的djangocms设置.但我需要将CMS外部表格中的内容添加到我的主页,并在模板上呈现该内容.我可以这样做,但在CMS中编辑urls.py以使用我的观点......
url(r'^', 'myapp.views.slideshow_info'),
Run Code Online (Sandbox Code Playgroud)
...从CMS中排除任何内容.我知道我只是获取自定义视图以适应CMS的观点,但我该如何实现?
目前我的应用程序的观点是:
from myapp.models import model1, model2
def slideshow_info(request):
return render_to_response('index.html', {'slideshow_list' : model1.objects.all()})
Run Code Online (Sandbox Code Playgroud)
非常感谢
我刚从头开始全新安装了Django和Django-CMS(包括一个全新的virtualenv和python构建).我收到这个bizzarre错误..谷歌一直没有帮助.想法?
TemplateSyntaxError at /
Caught AttributeError while rendering: 'str' object has no attribute 'regex'
In template /Users/bdunlay/python/python-2.5/lib/python2.5/site-packages/django_cms2.1.0.beta3-py2.5.egg/cms/templates/cms/new.html, error at line 37
Run Code Online (Sandbox Code Playgroud)
这是行:
37: <li>Log into <a href="{% url admin:index %}">admin</a> and <a href="{% url pages-root %}admin/cms/page/add/">add</a> some pages.</li>
Run Code Online (Sandbox Code Playgroud)
更多东西
/Users/bdunlay/python/python-2.5/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/core/urlresolvers.py in _populate
return '<%s %s (%s:%s) %s>' % (self.__class__.__name__, self.urlconf_name, self.app_name, self.namespace, self.regex.pattern)
def _populate(self):
lookups = MultiValueDict()
namespaces = {}
apps = {}
for pattern in reversed(self.url_patterns):
--> p_pattern = pattern.regex.pattern ...
if p_pattern.startswith('^'):
p_pattern = p_pattern[1:]
if isinstance(pattern, …Run Code Online (Sandbox Code Playgroud) 在django-cms中我有两种语言,一页荷兰语目前没有翻译成英文.查看此页面时,language_chooser不提供英文翻译的链接(因为没有).但是,我想链接到英文翻译链接到主页(或其他一些英文页面,如果有意义的话).现在我可以自己创建所需的模板标签,或者一些模板技巧,但我认为这个问题之前已经解决了.可悲的是,我找不到任何这种解决方案的例子.
语言选择器使用如下:
<p><small>Choose your language: {% language_chooser %}</small></p>
Run Code Online (Sandbox Code Playgroud)
此模板标记使用的默认模板(github上的源代码):
{% load menu_tags %}
{% for language in languages %}
<a href="{% page_language_url language.0 %}"{% ifequal current_language language.0 %} class="current"{% endifequal %}>{{ language.1 }}</a>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
渲染的html(注意空白的href链接到英文):
<p><small>Choose your language:
<a href="">English</a>
<a href="/nl/contact/" class="current">Nederlands</a>
</small></p>
Run Code Online (Sandbox Code Playgroud) 好吧,我偶然发现了导入和名称中带有连字符的 Django 应用程序的问题。
据我所知,Django 应用程序名称中甚至不允许使用连字符,但它仍然存在并且网站运行没有错误。我完全不知道该应用程序是如何创建的,因为该项目在我开始工作时已经存在。(这是一个 Django CMS 项目,如果它改变了什么顺便说一句)
现在的问题是,当我想在 shell 或项目中导入一些东西时,我不能只写,from my-app import module因为它总是因为连字符而引发错误。
同样在INSTALLED_APPS它与连字符一起列出INSTALLED_APPS = ('my-app')
那么我怎样才能真正解决这个问题并使它可用呢?我想过重命名,但我真的不知道后果,我也不想破坏 CMS 中的任何东西(我仍在学习 Django,CMS 对我来说很新)
我正在寻找一个很好的解决方案,使最终用户可以在模板占位符中插入iframe(Soundcloud).我想过使用djangocms-txt-ckeditor插件.在它的文档中,它说要使用可配置的消毒剂来完成这个:
djangocms-text-ckeditor使用html5lib来清理HTML以避免安全问题>并检查正确的HTML代码.消毒可以剥夺标签用于某些用例,例如iframe; 您可以自定义>覆盖TEXT_ADDITIONAL_TAGS和TEXT_ADDITIONAL_ATTRIBUTES设置所允许的标记和属性:
TEXT_ADDITIONAL_TAGS =('iframe',)
TEXT_ADDITIONAL_ATTRIBUTES =('scrolling','allowfullscreen','frameborder')
我确实编辑了我的项目中的settings.py并重新启动了我的webserver(nginx).但是消毒剂仍在包装它以避免html插入.
我想避免为此目的编写SoundCloud插件.
欢迎任何建议.
python django django-templates django-cms djangocms-text-ckeditor