按照此处的步骤操作:http://django-blog-zinnia.com/documentation/how-to/rewriting_entry_url/ 目前尚不清楚我是否因为措辞而得到了所有正确的步骤 这让我很难调试我的代码。
我已经创建了以下文件,但是我收到了ViewDoesNotExist错误 试图访问任何东西(注意:如果我切换主要部分,一切正常 url.py指回Zinnia的默认网址。
错误:
在模块zinnia.views.entries中尝试了entry_shortlink。错误是: 'module'对象没有属性'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'),
...
publisher / 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)
publisher / 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})
我确定错误正在蔓延,因为我没有扩展条目 正确地建模指南说: “只需使用扩展条目模型文档中说明的方法 使用新的基于EntryAbstractClass创建一个新类 get_absolute_url方法。“
目前尚不清楚我需要从引用中添加哪些元素 http://django-blog-zinnia.com/documentation/how-to/extending_entry_mo ....
我只是想通过演练来实现这个目标 新闻/ id / URL,之后将解决将其更改为我的问题 首选/ news / slug /.
我也在Zinnia作者运营的Google Group上发布了此消息,但没有回复。所有帮助表示赞赏!