3

按照此处的步骤操作:http ://django-blog-zinnia.com/documentation/how-to/rewriting_entry_url/ 由于措辞使我很难调试,我不清楚我是否已经完成了所有正确的步骤我的代码。

我创建了以下文件,但尝试访问任何内容时出现 ViewDoesNotExist 错误(注意:如果我将主 url.py 切换为指向 Zinnia 的默认 URL,则一切正常。

错误:

在模块 zinnia.views.entries 中尝试了 entry_shortlink。错误是:“模块”对象没有属性“入口短链接”

在主 urls.py ----

url(r'^news/', include('qclick.publisher.urls.entries')),

publisher/urls/entries.py(从 zinnia 默认值复制,仅编辑到下面)----

...

url(r'^(?P<object_id>\d+)/$',
    'qclick.publisher.ext_views.entry_detail',
    name='zinnia_entry_detail'),

...

发布者/ext_views.py ----

from zinnia.views.decorators import protect_entry
from django.views.generic.list_detail import object_detail

entry_detail = protect_entry(object_detail)

发布者/ext_models.py ----

from django.db import models
from zinnia.models import EntryAbstractClass

class EntryWithNewUrl(EntryAbstractClass):
        """Entry with '/news/<id>/' URL"""

    @models.permalink
    def get_absolute_url(self):
            return ('zinnia_entry_detail', (),
                            {'object_id': self.id})

我确信错误正在蔓延,因为我没有正确扩展 Entry 模型,指南说:“只需使用 Extending Entry 模型文档中解释的方法来创建一个基于 EntryAbstractClass 的新类和新的 get_absolute_url 方法。 "

由于尚不清楚我需要从对 http://django-blog-zinnia.com/documentation/how-to/extending_entry_mo的引用中添加哪些元素....

我只是尝试使用演练的 /news/id/ URL 启动并运行它,然后将其更改为我喜欢的 /news/slug/。

我也在 Zinnia 作者经营的 Google Group 上发布了这个,但没有任何回应。所有帮助表示赞赏!

4

0 回答 0