我在 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-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-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页面获取模板,或者我必须对模板进行硬编码要使用的?
我们有一个用Django-CMS构建的网站,并开发了一个带有替代CSS的移动版本,以适应较小的可视区域.与通常的导航栏一样,我们希望在每页底部包含"下一页"和"上一页"链接.
我知道如何使用以下代码输出当前页面的兄弟姐妹:
{% show_menu current_page.level %}
Run Code Online (Sandbox Code Playgroud)
输出链接到下一页和上一页的最简单方法是什么?
我的django应用程序是欧洲语言.现在我想恢复英语并正确地进行国际化和本地化.我在setting.py中这样做了
LANGUAGE_CODE = 'en'
LANGUAGES = [
('en', 'English'),
]
Run Code Online (Sandbox Code Playgroud)
但整个申请仍然没有用英文显示.我在这里错过了什么吗?PS.该应用程序也使用Django-CMS.
环境: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.
经过几个小时的阅读和测试,我找到了
正如错误消息所示 - 您需要更新关系以指向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
我有一个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-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 CMS中使用多语言内容而不使用URL中的语言代码,因为django CMS还使用会话和cookie来跟踪用户的首选语言?
如果无法实现,限制的原因是什么?
我正在寻找一种在模板中显示我的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-cms ×10
django ×9
python ×3
django-mptt ×1
django-users ×1
html-email ×1
localization ×1
pillow ×1
pip ×1
static ×1
ubuntu-12.04 ×1