Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从其他django应用程序呈现django cms页面_Django_Django Cms_Django Apps - Fatal编程技术网

从其他django应用程序呈现django cms页面

从其他django应用程序呈现django cms页面,django,django-cms,django-apps,Django,Django Cms,Django Apps,有没有办法从另一个django应用程序的视图中,通过修改的上下文呈现django cms页面? …我知道“django cms方式”是通过插件和挂钩将其他应用程序集成到django cms中。但我想换一种方式来做,因为这对我来说更有意义,并使应用程序更易于重用,而且我没有找到关于如何做到这一点的文档。应该有一个简单的方法,从我的视图中调用django cms视图,并执行一些“巫毒”操作,对吗?我过去解决这个问题的方法是使用urllib2(或多个请求)在URL上执行get请求,并从响应中提取相关部

有没有办法从另一个django应用程序的视图中,通过修改的上下文呈现django cms页面?


…我知道“django cms方式”是通过插件和挂钩将其他应用程序集成到django cms中。但我想换一种方式来做,因为这对我来说更有意义,并使应用程序更易于重用,而且我没有找到关于如何做到这一点的文档。应该有一个简单的方法,从我的视图中调用django cms视图,并执行一些“巫毒”操作,对吗?

我过去解决这个问题的方法是使用urllib2(或多个请求)在URL上执行get请求,并从响应中提取相关部分

...
site = Site.objects.get_current()
protocol = 'http' if DEBUG else 'https'
response = urllib2.urlopen('%s://%s%s' % (protocol,
    site.domain, page.get_absolute_url()))  # page is a Django-CMS page object
html_content = response.read()
response.close()
...
Django CMS中的每个
页面
对象都有一个
.get\u absolute\u url()
方法,因此我通过编程方式获取请求的url,但据我所知,没有呈现页面的方法


如果有其他/更好的方法,我很想看看是什么。

我过去解决这个问题的方法是使用urllib2(或多个请求)对URL执行get请求,并从响应中提取相关部分

...
site = Site.objects.get_current()
protocol = 'http' if DEBUG else 'https'
response = urllib2.urlopen('%s://%s%s' % (protocol,
    site.domain, page.get_absolute_url()))  # page is a Django-CMS page object
html_content = response.read()
response.close()
...
from cms.views import details

def show_some_page(request):
    return details(request, 'slug_of_page_to_show')
Django CMS中的每个
页面
对象都有一个
.get\u absolute\u url()
方法,因此我通过编程方式获取请求的url,但据我所知,没有呈现页面的方法


如果有其他/更好的方法,我很想看看它是什么。

我有点不明白为什么您要从我的视图中调用django cms视图。你具体想做什么?这句话特别让人困惑:“应该有一个简单的方法,从我的视图调用django cms视图,然后做一些“巫术”来让它工作,对吧?”我想不出有一次我从另一个视图调用了一个视图…@respondcreate我真正需要的是“从另一个django应用程序的视图呈现一个django cms页面”,正如我所说。如果有一个API,很好,这是我希望有人会知道的。。。如果不是,那么即使是一种丑陋的黑客方式,比如从我的角度调用django cms视图,也会很好。。。我在使用一个新的webapp时做过“从视图调用视图”之类的事情,我还没有时间去理解,必须尽快使一个功能正常工作,然后在我弄清楚事情是如何设置的之后进行重构……我有点不明白为什么要从我的视图调用“django cms视图”。你具体想做什么?这句话特别让人困惑:“应该有一个简单的方法,从我的视图调用django cms视图,然后做一些“巫术”来让它工作,对吧?”我想不出有一次我从另一个视图调用了一个视图…@respondcreate我真正需要的是“从另一个django应用程序的视图呈现一个django cms页面”,正如我所说。如果有一个API,很好,这是我希望有人会知道的。。。如果不是,那么即使是一种丑陋的黑客方式,比如从我的角度调用django cms视图,也会很好。。。我在使用一个新的webapp时,做过“从视图调用视图”之类的事情,我还没有时间去理解,必须尽快使一个功能正常工作,然后在我弄清楚事情是如何设置的之后进行重构……为什么否决?这真是个好主意。@NeuronQ想要的难看的方法是将所需的上下文变量放入请求变量中。为什么要进行向下投票?这真是个好主意。@NeuronQ想要的一个丑陋的技巧是将所需的上下文变量放入请求变量中。
from cms.views import details

def show_some_page(request):
    return details(request, 'slug_of_page_to_show')