ここの手順に従ってください: http : //django-blog-zinnia.com/documentation/how-to/rewriting_entry_url/私のコード。
以下のファイルを作成しましたが、何かにアクセスしようとすると ViewDoesNotExist エラーが発生します (注: メインの url.py を Zinnia のデフォルト URL に戻すように切り替えると、すべて正常に動作します。
エラー:
モジュール zinnia.views.entries で entry_shortlink を試しました。エラー: 「モジュール」オブジェクトに属性「entry_shortlink」がありません
メインの urls.py で ----
url(r'^news/', include('qclick.publisher.urls.entries')),
publisher/urls/entries.py (百日草のデフォルトからコピーし、以下にのみ編集) ----
...
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 モデルを正しく拡張していないため、ガイドに次のように記載されているため、エラーが忍び寄っていると確信しています。 "
http://django-blog-zinnia.com/documentation/how-to/extending_entry_moへの参照から追加する必要がある要素が明確ではないため ....
ウォークスルーの /news/id/ URL でこれを起動して実行しようとしているだけです。その後、好みの /news/slug/ に変更します。
Zinnia の著者が運営する Google グループにもこれを投稿しましたが、応答はありません。すべての助けに感謝します!