Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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 CMS apphook命名空间_Django_Namespaces_Django Cms - Fatal编程技术网

Django CMS apphook命名空间

Django CMS apphook命名空间,django,namespaces,django-cms,Django,Namespaces,Django Cms,我正在django cms项目中开发一个日历应用程序作为apphook。我想使用名称空间,但似乎无法再解析我的URL。这是cms_app.py的 from cms.app_base import CMSApp from cms.apphook_pool import apphook_pool from django.utils.translation import ugettext_lazy as _ class SchedulerApphook(CMSApp): name = _("

我正在django cms项目中开发一个日历应用程序作为apphook。我想使用名称空间,但似乎无法再解析我的URL。这是cms_app.py的

from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _

class SchedulerApphook(CMSApp):
    name = _("Scheduler")
    urls = ["scheduler_app.urls"]
    app_name = "cab_calendar"

apphook_pool.register(SchedulerApphook)
以下是我的应用程序中的
url.py

from django.conf.urls import patterns, include, url
from . import views
from scheduler_app.views import EventList, EventDetail
from datetime import datetime
from django.views.generic.base import RedirectView


urlpatterns = patterns('',

    # Monthly views
    url(r'^month/(1[0-2]{1}|[1-9]{1})/([0-2][0-9]{3})', views.calendar , name='calendar'),  #cab/month/1-12/1900-2999
    url(r'^month', RedirectView.as_view(url ='/cab/month/%s/%s' % (datetime.now().month, datetime.now().year)), name='today'), ## monthly view of today

    # Weekly view
    url(r'^week/(?P<day>((3[0-1]{1})|([1-2]{1}[0-9]{1})|([1-9]{1})))/(?P<month>(1[0-2]{1}|[1-9]{1}))/(?P<year>([1-2][0-9]{3}))', views.week_calendar, name='week_calendar'),
    url(r'^week', RedirectView.as_view(url ='/cab/week/%s/%s/%s' % (datetime.now().day, datetime.now().month, datetime.now().year)), name='week_calendar'),

    # Daily views
    url(r'^day/(?P<day>((3[0-1]{1})|([1-2]{1}[0-9]{1})|([1-9]{1})))/(?P<month>(1[0-2]{1}|[1-9]{1}))/(?P<year>([1-2][0-9]{3}))' , views.day_calendar , name='day_calendar'), #cab/day/1-31/1-12/1900-2999
    url(r'^day', RedirectView.as_view(url = '/cab/day/%s/%s/%s' % (datetime.now().day, datetime.now().month, datetime.now().year)), name='day_calendar'),   # daily view of today

    url(r'^events', EventList.as_view(), name='events'),
    url(r'^event/(?P<pk>\d+)', EventDetail.as_view(), name='event_detail'),

    # No selected view -> default = today monthly 
    url(r'^.*', RedirectView.as_view(url ='/cab/month/%s/%s' % (datetime.now().month, datetime.now().year)), name='today'),
)
但Django一直说:

NoReverseMatch at/en/cab/month/2015年6月

u'cab_calendar'不是已注册的命名空间


我做错了什么?

CMS当前加载通过apphook连接的应用程序的方式是,一旦将应用程序连接到页面,您必须重新启动服务器

名称空间的注册仅在服务器启动时发生,尽管在需要重新加载时会触发一个信号,因此您可以将某些内容连接到该信号

)

如上所述,无论何时添加或删除apphook,都要更改包含apphook的页面的slug,如果页面具有apphook的子代,则必须重新启动服务器以重新加载URL缓存。为了让您能够自动执行此过程,django CMS提供了一个信号
CMS.signals.url\u需要重新加载
,您可以监听该信号,以检测服务器何时需要重新启动。运行manage.py runserver时,不需要重新启动


只是为了确保:您已将应用程序附加到名为
cab
的页面,对吗?还有,您是否发布了页面并重新启动了服务器?@mfcovington一旦我执行apphook,它就会刷新并给出错误信息
{% url 'cab_calendar:calendar' %}