标签: django-cms

django 静态文件不提供给 HTML-EMail 模板

我在 Win7 主机上的本地 Vagrant arch 机器上运行 Django。我在 .env 文件中设置了来自 Django 的环境变量。在我的应用程序中,所有静态文件都正确提供,并且一切正常。

问题:我无法在我的 html 电子邮件模板中提供我的静态文件(图像)。到目前为止,我将它们作为硬编码的文件管理器 URL 提供,我想改变它。

我正在传递 BASE_URL BASE_URL=http://127.0.0.1:8001,它被证明是有效的,作为模板的上下文并像往常一样加载静态:

{% load static %} 
Run Code Online (Sandbox Code Playgroud)

并在 HTML 标签中调用它:

<img src="{{BASE_URL}}{% static 'img/my_image.png' %}">
Run Code Online (Sandbox Code Playgroud)

在收到的电子邮件中,图像的 URL 是http://127.0.0.1:8001/static/img/my_image.png看起来正确但会触发 404。

我错过了什么??

(请不要问我图片是否在对应的文件夹中,是;)

django static django-templates html-email django-cms

4
推荐指数
1
解决办法
1774
查看次数

PlaceholderAdmin抛出<lambda>()只取一个参数(给定2个)

我为django-cms写了一个插件,它有自己的模型和一个PlaceholderField.当我为模型管理员添加PlaceholderAdmin时,我在管理站点上获取此信息:

Exception Type: TemplateSyntaxError
Exception Value:    
Caught TypeError while rendering: <lambda>() takes exactly 1 argument (2 given)
Exception Location: <blablapath>/python2.6/site-packages/cms/forms/widgets.py in render, line 199
Run Code Online (Sandbox Code Playgroud)

我一直在寻找解决方案,只发现django-cms示例的一些问题,如果没有在urls.py中取消注释某些路径就无法运行,所以我猜它可能是url的问题,尤其是我在我的网址中做了一些魔术.问题是:django-cms url的有效条件是什么?有任何想法吗?有解决方案吗 以前有人有这个问题吗?

django django-cms

3
推荐指数
1
解决办法
1536
查看次数

将Django App与django-cms集成

大家好.我有一个自定义的联系表单应用程序,我想将它与django-cms集成.根据我的理解,我必须使用django-cms注册应用程序,然后在我的视图中我必须返回一个RequestContext实例而不是常规上下文实例,所以在我的views.py中我有

return render_to_response('my_template.html',
                          {'form': form},
                          context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我不知道我在这里遗漏了什么,但我的问题是我不想硬编码模板名称

my_template.html
Run Code Online (Sandbox Code Playgroud)

相反,我希望模板与我添加新页面时的模板相同,所以我的问题是,有没有办法从主持应用程序的django-cms页面获取模板,或者我必须对模板进行硬编码要使用的?

python django django-cms

3
推荐指数
1
解决办法
1268
查看次数

如何在Django-CMS中显示Next和Previous页面链接

我们有一个用Django-CMS构建的网站,并开发了一个带有替代CSS的移动版本,以适应较小的可视区域.与通常的导航栏一样,我们希望在每页底部包含"下一页"和"上一页"链接.

我知道如何使用以下代码输出当前页面的兄弟姐妹:

{% show_menu current_page.level %}
Run Code Online (Sandbox Code Playgroud)

输出链接到下一页和上一页的最简单方法是什么?

django-cms

3
推荐指数
1
解决办法
1135
查看次数

国际化的Django应用程序回到英语

我的django应用程序是欧洲语言.现在我想恢复英语并正确地进行国际化和本地化.我在setting.py中这样做了

LANGUAGE_CODE = 'en'
LANGUAGES = [
    ('en', 'English'),
]
Run Code Online (Sandbox Code Playgroud)

但整个申请仍然没有用英文显示.我在这里错过了什么吗?PS.该应用程序也使用Django-CMS.

python django localization internationalization django-cms

3
推荐指数
1
解决办法
163
查看次数

django 1.5扩展默认用户模型或替换它

环境:Django 1.5.1 + Django CMS 2.4.1 + Zinnia最新+我的自定义应用+自定义Django CMS插件

基本上我可以扩展默认的Django(1.5.X)用户模型,如NetTuts +上的Django Ribbit Tutorial

要么

在段落中替换完全自定义的模型,如Django Dev doc或Django2Scoops示例:"处理用户模型"

为了测试我决定使用子类AbstractUser来自Django2Scoops书:"如果您喜欢Django的用户模型字段,请选择此选项,但需要额外的..fields."

但是我有以下错误:

notification.noticesetting:'user'定义了与模型'auth.User'的关系,该模型已被换出.更新关系以指向settings.AUTH_USER_MODEL.cmsplugin_zinnia.latestentriesplugin:'authors'定义了与模型'auth.User'的关系,该模型已被换出.更新关系以指向settings.AUTH_USER_MODEL.

cms.pageuser:'created_by'定义了与模型'auth.User'的关系,该模型已被换出.更新关系以指向settings.AUTH_USER_MODEL.cms.pageusergroup:'created_by'定义了与模型'auth.User'的关系,该模型已被换出.更新关系以指向settings.AUTH_USER_MODEL.

经过几个小时的阅读和测试,我找到了

指定自定义用户模型(扩展AbstractUser)不起作用

正如错误消息所示 - 您需要更新关系以指向settings.AUTH_USER_MODEL.第二个错误("模型已被换出......")是您直接引用用户模型这一事实的副作用.更改ForieignKey引用后,第三个错误将消失.我们已尽力确保顺利过渡到新的用户模型,但它不能完全透明.应用编写者需要将他们的应用更新为1.5兼容.基本上,如果Django 1.4应用程序包含对用户的硬编码外键引用,则它与Django 1.5不会100%兼容.拜托,你能举个更多例子吗?

Django/Python:更新关系以指向settings.AUTH_USER_MODEL

在settings_example.py中,您有AUTH_USER_MODEL ='users.User'.但是你使用的应用程序 - menu.bookmark--与django.contrib.auth.User有关 - 你不能同时拥有这两者.设置AUTH_USER_MODEL意味着您要用自己的内置Django用户模型替换它.有关 详细信息,请参见 http://procrastinatingdev.com/django/using-configurable-user-models-in-django-1-5/.

但我不明白我该怎么解决这个问题.

我需要什么:

- 用户与学院班级(一个学院 - >更多用户)相关联

- 用户或机构可以拥有不同的权限,并查看不同的django cms页面/插件.

- 用户的几个字段.

Subclass AbstractUser是正确的吗?

如何解决"换出"错误?

我应该创建类似于OpenTreeMap代码的东西

这个代码是不是已经弃用了?

谢谢!

django django-models django-authentication django-cms django-users

3
推荐指数
1
解决办法
3665
查看次数

关于django-mptt的Django-CMS警告

我有一个Django-CMS 2.4.1项目,总是给我警告:

DeprecationWarning: Implicit manager CMSPlugin.tree will be removed in django-mptt 0.6.  Explicitly define a TreeManager() on your model to remove this warning.
Run Code Online (Sandbox Code Playgroud)

这只发生在生产中 - 而不是在开发中.

我试过了:

./manage.py cms fix-mptt
Run Code Online (Sandbox Code Playgroud)

这给了我输出(在与上面相同的警告之后):

fixing mptt page tree
fixing mptt plugin tree
all done
Run Code Online (Sandbox Code Playgroud)

但是......这并没有解决问题,例如,如果我重复命令它再次做同样的事情,同样的警告.

警告似乎没有造成任何伤害,但我想它将与下一版本的django-mptt.任何人都可以给我任何建议吗?

谢谢

django django-mptt django-cms

3
推荐指数
1
解决办法
1672
查看次数

运行django-cms演示页时出错

我尝试了所有的程序安装的Django-CMS,之后,当我尝试运行演示页我提示以下错误.

(djvenv2)shan@shan:~/workspace/projects/djvenv$ pip freeze
Django==1.6.2
PIL==1.1.7
Pillow==2.4.0
South==0.8.4
argparse==1.2.1
dj-database-url==0.3.0
django-classy-tags==0.5.1
django-cms==3.0
django-mptt==0.6.0
django-sekizai==0.7
djangocms-admin-style==0.2.2
djangocms-installer==0.4.1
html5lib==0.999
six==1.6.1
wsgiref==0.1.2

(djvenv2)shan@shan:~/workspace/projects/djvenv$ djangocms -p . my_demo
Database configuration (in URL format) [default sqlite://localhost/project.db]:
django CMS version (choices: 2.4, 3.0, stable, develop) [default stable]:
Django version (choices: 1.4, 1.5, 1.6, stable) [default 1.5]:
Activate Django I18N / L10N setting (choices: yes, no) [default yes]:
Install and configure reversion support (choices: yes, no) [default yes]:
Languages to enable. Option can be provided multiple times, …
Run Code Online (Sandbox Code Playgroud)

django pip django-cms ubuntu-12.04 pillow

3
推荐指数
1
解决办法
5607
查看次数

是否可以在URL中使用多语言的django CMS网站而不使用语言代码?

是否可以在django CMS中使用多语言内容而不使用URL中的语言代码,因为django CMS还使用会话和cookie来跟踪用户的首选语言?

如果无法实现,限制的原因是什么?

python django internationalization django-cms

3
推荐指数
1
解决办法
595
查看次数

如何在Django的模板中显示网站的用户友好名称?

我正在寻找一种在模板中显示我的Django-CMS站点名称的方法。

我按照本指南创建了一个基本的Django-CMS网站。默认站点名为Example.com,我可以在管理部分将其更改为“我的超级站点”。接下来,我按照本指南尝试自定义主题并将其应用到主题。建议用于{{ request.site.name }}在页面上显示站点名称。但是,它变成空的,也是如此{{ request.site }}

我进行了进一步的搜索,发现几页的主题越老越接近于这个话题。像这样的最新建议表明,这与django-cms无关,而与django本身和站点框架有关。

我看着的文件,特别是这个页面这一个,如果我正确理解,表示该网站的中间件,一旦被激活,包括在请求对象站点对象在模板中可用。我检查并启用了站点框架(在INSTALLED_APPS设置中定义了“ django.contrib.sites”,定义了SITE_ID并迁移了)。所以,我不明白为什么{{ request.site }}是空的。

为了澄清起见,我不是在寻找域名或主机。我正在寻找用户友好的名称,该名称在django-cms的管理/站点“更改站点”部分的“显示名称”下找到。

谢谢您的帮助。

django django-templates django-cms

3
推荐指数
1
解决办法
723
查看次数