2014-01-21 68 views
0

我使用Django Django的CMS-CMS == 2.4.3如何扭轉與DjangoCMS 2.4.x的URL和apphooks

我已經準備了apphook,稱爲產品。

我cms_app.py文件是:

class ProductsApp(CMSApp): 
    name = _("Products") 
    urls = ["products.urls"] 

apphook_pool.register(ProductsApp) 

我的models.py文件是:

class Region(TranslatableModel): 
    slug = models.SlugField(_('short name for URL')) 

    def get_absolute_url(self): 
     return reverse('products_region', args=(self.slug,)) 

我的urls.py文件是:

urlpatterns = patterns(
    'products.views', 
    url(r'region/(?P<slug>.*)/$', 'region', name='products_region'), 
) 

在我的模板我我把這個網址稱爲:

<li><a href="{{ item.get_absolute_url }}">{{ item.name }}</a></li> 

我的問題是:我做對了嗎? 有時工作,有時我收到了很多的錯誤是這樣的:

Reverse for 'products_region' with arguments '(u'veneto',)' and keyword arguments '{}' not found. 

我怎樣才能使它發揮作用?這是一個Django的CMS錯誤?謝謝

+0

確保將apphook添加到頁面中使用的所有語言,然後重新啓動服務器。 – Paulo

+0

謝謝Paulo,這解決了我的問題。 –

+0

因此,正確的程序是: - 將apphook添加到頁面的每個翻譯版本 - 重新啓動服務器 –

回答

0

確定在添加apphook後重新啓動網絡服務器。

+0

我已重新啓動(ctrl + c,然後重新啓動),但它不起作用。我正在使用./manage.py runserver服務器進行開發,但Apache和mod_wsgi也是如此。 –