Djangocms 中的自定义视图?

2024-03-03

我还没有找到令人满意的方法:我有一个运行良好的 djangocms 设置。但我需要将 CMS 外部表格中的内容添加到我的主页,并在模板上呈现该内容。我可以做到这一点,但在 CMS 中编辑 urls.py 以使用我的视图,如下所示......

url(r'^', 'myapp.views.slideshow_info'),

...从 CMS 中排除任何内容。我知道我只是获取自定义视图来适应 CMS 视图正在执行的操作,但如何实现这一点?

目前我的应用程序的观点是:

from myapp.models import model1, model2

def slideshow_info(request):
    return render_to_response('index.html', {'slideshow_list' : model1.objects.all()})

非常感谢


您可以将自定义应用程序实例挂接到任何 Django-CMS 页面。以下是有关如何执行此操作的文档:http://docs.django-cms.org/en/2.1.3/extending_cms/app_integration.html#app-hooks http://docs.django-cms.org/en/2.1.3/extending_cms/app_integration.html#app-hooks You 不应该需要更改基本 url 模式以专门将 / 重新路由到您的视图。

在自定义应用程序挂钩可用之前,我将完成您尝试使用模板标签执行的操作。

希望对您有所帮助。

Followup

好的,在最近完成的一个网站中,我必须挂接一个名为“portfolio”的应用程序才能在 Django-CMS 网站的主页上显示图像。

以下是代码的相关部分:

#portfolio/cms_app.py
from django.utils.translation import ugettext_lazy as _

from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool

class PortfolioAppHook(CMSApp):
    name = _('Portfolio')
    urls = ['portfolio.urls']

apphook_pool.register(PortfolioAppHook)


#portfolio/urls.py
from django.conf.urls.defaults import *

urlpatterns = patterns('portfolio.views',
    url(r'^(?P<slug>[-\w]+)/$', 'project_detail', name='project_detail'),
    url(r'^$', 'portfolio_index', name='portfolio_index'),
)

#portfolio/views.py
from django.http import HttpResponseRedirect
from django.contrib.auth.decorators import login_required
from django.shortcuts import get_object_or_404, render

from portfolio.models import Project


def portfolio_index(request):
    project_objects = Project.for_public if request.user.is_anonymous() \
        else Project.objects
    projects = project_objects.all().select_related(depth=1)
    return render('portfolio/index.html',
        {'projects' : projects}, request)


def project_detail(request, slug):
    project = get_object_or_404(Project, slug=slug)
    if not project.public and request.user.is_anonymous():
        return HttpResponseRedirect('/?login=true')
    return render('portfolio/project_detail.html',
        {'project' : project}, request)

#urls.py (base urls)
from django.conf import settings
from django.conf.urls.defaults import *
from django.contrib import admin

from views import login_user, logout_user

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/filebrowser/', include('filebrowser.urls')),
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),
    (r'^admin/', include(admin.site.urls)),
    (r'^tinymce/', include('tinymce.urls')),
    url(r'^login/$', login_user, name='login_user'),
    url(r'^logout/$', logout_user, name='logout_user'),
    (r'^', include('sorl.thumbnail.urls')),
    (r'^', include('cms.urls')),
)

if settings.SERVE_STATIC_MEDIA:
    urlpatterns += patterns('',
        (r'^' + settings.MEDIA_URL.lstrip('/'), include('appmedia.urls')),
    ) + urlpatterns

正如您从这个工作示例中看到的,我没有更改我的基本 URL 以适应主页视图,而是通过 cms_app.py 向 Django-CMS 提供了我的 Portfolio 应用程序的 URL

希望这能让你继续前进。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Djangocms 中的自定义视图? 的相关文章

随机推荐

  • ReactJS错误警告

    我正在使用 ReactJS 创建我的第一个应用程序 当我运行代码时发现此警告 警告 表单 propType 失败 您提供了checked支持表单 场没有onChange处理程序 这将呈现只读 场地 如果该字段应该是可变的 请使用defaul
  • 将按钮和文本放在同一行,并将文本置于按钮的中心

  • 材质 UI 选择字段多选

    我多次尝试了文档中给出的示例 但它对我来说效果不佳 谁能帮我 这是代码 import React Component from react import SelectField from material ui SelectField im
  • 为什么裸存储库有 HEAD

    我想知道这样做的目的是什么HEAD在裸存储库中 是否仅在克隆存储库时使用它来知道在克隆存储库中签出哪个分支 请注意 这个问题不是关于what is HEAD 但考虑到它的功能 我想知道为什么里面需要它bare存储库 您能举出一个在裸存储库中
  • 从 XML 文件生成 Java 类

    如何从 xml 文件获取 java 类 在这种情况下 我没有XML模式据我所知 这样我就不能使用 JAXB Castor 或其他 xml 绑定 API 您可以使用以下方法从 XML 文件生成架构某些工具 http oreilly com p
  • 变量应该是侦听器内部的最终变量[重复]

    这个问题在这里已经有答案了 可能的重复 无法引用在不同方法中定义的内部类内的非最终变量 https stackoverflow com questions 1299837 cannot refer to a non final variab
  • 在Force布局中向d3节点添加文本标签

    这是我的代码 你也可以有完整的代码JsFiddle https jsfiddle net ShuanWu 7pvhxfzg 我想在每个节点上都有标签 但我不能 顺便说一句 标签可以嵌入到圆圈中console https i stack im
  • 根据选项卡内容调整 QTabWidget 大小的问题(PyQT)

    我知道提供了一些关于 QTabWidget 调整大小的答案 Link 1 https stackoverflow com questions 28710003 force qt pyqt pyside qtabwidget to resiz
  • TextRenderer.MeasureText 结果的准确性

    调用 TextRenderer MeasureText 如下 TextRenderer MeasureText myControl Text myControl Font 并将结果与 控件的大小进行比较以检查文本是否适合 结果有时不正确 观
  • 使用 JavaScript 和 Google Gears 处理文件上传,有更好的解决方案吗?

    所以 我已经使用这种文件上传方法一段时间了 但 Google Gears 对实现 HTML5 规范的较新浏览器的支持似乎很差 我听说过这个词已弃用 https stackoverflow com questions 2292160浮动在几个
  • 使用 Pyspark 从关系数据集构建层次结构

    我是 Python 新手 一直致力于从关系数据集构建层次结构 如果有人知道如何进行此操作 那将有巨大的帮助 我有一个关系数据集 其中包含如下数据 currentnode childnode root child1 child1 leaf2
  • Symfony2 表单中实体字段类型的附加属性

    在Symfony2中 有没有一种方法可以将更多字段从实体映射到从基于实体的表单生成的选择下拉列表的选项标签 我目前有类似的东西 builder gt add creditcard entity array label gt Credit C
  • 如何正确地将 C 程序拆分为文件并包含?

    我组织了我的程序 将每个实体拆分在自己的文件中 是这样的 main c include student h include subject h include classroom h define PI 3 14 int sum int a
  • 将音频从 Android 设备流式传输到另一设备

    我如何通过互联网将音频从一台设备流式传输到另一台设备 我知道使用 Java 套接字发送基本数据 但想知道如何 在文件中途开始流式传输 例如 在歌曲的中间 发送的数据需要什么格式 MediaPlayer可以将url作为数据源 那么音频从服务器
  • 将光标移动到输入字段的开头?

    当您在 Stackoverflow 中点击 提问 时 您会看到一条文字 您的编程问题是什么 请描述一下 我想要同样的事情 我所需要做的就是将光标移动到文本字段的开头 我如何用 jquery 做到这一点 这可能有点过分了 但这些函数对于选择输
  • 从多个因子列生成虚拟矩阵

    我已经在网上搜索过 但没有找到答案 我有一个包含多列的大 data frame 每列都是一个因子变量 我想转换 data frame 使得因子变量的每个可能值都是一个变量 如果该变量存在于因子列中 则该变量包含 1 否则包含 0 这是我的意
  • Random 类线程安全吗?

    共享一个实例是否有效Random多线程之间的类 并打电话nextInt int 特别是来自多个线程 它是线程安全的 因为当多个线程使用时它仍然会生成随机数 Sun Oracle JVM 实现使用synchronized 和AtomicLon
  • 如何使用 Flask 获取页面访问者的 Windows 用户名?

    我到处搜索过 但没有找到任何结果 所以很抱歉 如果这篇文章是骗人的 我找不到任何东西 我为我的公司编写了这个相当广泛的网络应用程序 唯一剩下的就是添加某种审核 我不知道如何捕获当前访问我的页面的人的用户名 由于托管的盒子是以管理员身份登录的
  • 使用 PDFMake 嵌套/子表

    如何在 PDFmake 中使用嵌套 子表 我尝试过简单地放入多个表格 但这不会自动重复顶级表格的标题以进行分页符 此代码是使用子表的简化示例 它改编自 pdfmake Playground 的表格部分 通过 Google 搜索不容易找到 将
  • Djangocms 中的自定义视图?

    我还没有找到令人满意的方法 我有一个运行良好的 djangocms 设置 但我需要将 CMS 外部表格中的内容添加到我的主页 并在模板上呈现该内容 我可以做到这一点 但在 CMS 中编辑 urls py 以使用我的视图 如下所示 url r