5

core というアプリを含む django-cms プロジェクトがあります。コア内で、次のようにファイル「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)

私の 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'),
    )

私はこのビューに到達しようとしています:

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

この URL を使用して:

http://127.0.0.1:8000/noticias/filmes/acao/lol-e-poka-zuera/

しかし、ファイル urls.py は Apphook によって読み込まれません。「Noticias」と「Noticias」のすべての子ページにも Apphook フィールドを設定済みです。それについての奇妙なことは、完全に機能する別のプロジェクトで同じ構造を持っていることです。そして明らかに、アプリの「コア」を INSTALLED_APPS に設定しました。何がこの問題を引き起こしているのか想像さえできません。core/urls.py にブレークポイントを使用しましたが、Apphook によって呼び出されていません。

4

3 に答える 3

0

サーバーを再起動しましたか?(manage.py runserver を使用している場合でも、再起動する必要があります)

さらに、ビューで RequestContext を使用する必要があります。 https://django.readthedocs.org/en/latest/ref/templates/api.html#subclassing-context-requestcontext

問題が発生したばかりで、次のことが役に立ちました。

from django.shortcuts import render_to_response
from django.template import RequestContext

def some_view(request):
    # ...
    return render_to_response('my_template.html',
           my_data_dictionary,
           context_instance=RequestContext(request))

編集:多分私は質問を理解していません。アプリフックで出力が得られない、またはそれにリンクできないという問題ですか?

2 番目の場合、おそらくdjango-cms: urls used by apphooks don't work with reverse() または {% url %}が役立ちます。

編集2現在のdjango-cmsにはcms.middleware.multilingual.MultilingualURLMiddlewareもうないことがわかりました。

于 2014-02-20T00:58:16.350 に答える