Django-cms Apphook url 未加载

Mau*_*cio 5 python django url django-cms

我有一个 django-cms 项目,其中包含一个名为 core 的应用程序。在核心内部,我创建了一个文件“cms_app.py”,如下所示:

# -*- coding: utf8 -*-
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _

class CoreApphook(CMSApp):
    name = _(u"Core Apphook")
    urls = ["core.urls"]

apphook_pool.register(CoreApphook)
Run Code Online (Sandbox Code Playgroud)

在我的 core/urls.py 中,我有以下代码:

# -*- coding: utf8 -*-
from django.conf.urls.defaults import patterns, include, url

urlpatterns = patterns('',

        # URLS refrentes ao apphook CoreApphook
        url(r'^$', 'noticia.views.ultimas_noticias'),
        url(r'^noticias/$', 'noticia.views.ultimas_noticias'),
        url(r'^noticias/(?P<categoria>[\w\d-]+)/$', 'noticia.views.noticias_categoria'),
        url(r'^noticias/(?P<categoria>[\w\d-]+)/(?P<pagina>\d+)/$', 'noticia.views.noticias_categoria_paginated'),
        url(r'^noticias/(?P<categoria>[\w\d-]+)/(?P<subcategoria>[\w\d-]+)/(?P<titulo>[\w\d-]+)/$', 'noticia.views.noticia'),
        url(r'^paginacao/noticias/$', 'noticia.views.noticias_categoria_paginated'),
    )
Run Code Online (Sandbox Code Playgroud)

我试图达到这个观点:

url(r'^noticias/(?P<categoria>[\w\d-]+)/(?P<subcategoria>[\w\d-]+)/(?P<titulo>[\w\d-]+)/$', 'noticia.views.noticia'),
Run Code Online (Sandbox Code Playgroud)

通过使用这个网址:

http://127.0.0.1:8000/noticias/filmes/acao/lol-e-poka-zuera/
Run Code Online (Sandbox Code Playgroud)

但是文件 urls.py 没有被 Apphook 加载。我已经在“Noticias”和“Noticias”的每个子页面中设置了 Apphook 字段。奇怪的是,我在另一个完美运行的项目中使用了相同的结构。显然我已经将应用程序“核心”设置为 INSTALLED_APPS。我什至无法想象是什么导致了这个问题。我在 core/urls.py 中使用了一个断点,但它没有被 Apphook 调用。

小智 2

urlpatterns = patterns('',

    # URLS refrentes ao apphook CoreApphook
    url(r'^$', 'noticia.views.ultimas_noticias', name='app_ultimas_noticias'),
    url(r'^noticias/$', 'noticia.views.ultimas_noticias', name='app_ultimas_noticias1'),
)
Run Code Online (Sandbox Code Playgroud)

  • 我发现了问题。出现这种情况的原因是新版本的django-cms要求修改页面时需要发布两次页面。 (5认同)