1

models.pyurls.pyviews.py

get_absolute_url()クラスに関数を設定しようとしていますEntryが、失敗しています。引数を1つだけ使用して、クラス用にそのような関数を正常に作成しましたが、Categoryクラスのように複数の引数を使用することに固執していますEntry

現在、

<a href="/blog/{{ entry.get_absolute_url }}/">{{ entry.title }}</a>`

リンクは、私のインデックス ページに表示されるように、以下の URL のみを返します。

http://127.0.0.1:8000/blog//

私は元々、次のようにリバースなしでリターンを使用しました。

def get_absolute_url(self):
    return "/%s/%s/%s/" % (self.pub_date.year, self.pub_date.month, self.slug)

ただし、前述の を含む index.html からは機能していましたが、href他のページ (つまり) からは、クラスcategory.htmlを含め、現在の URL にこれが追加された URL が返されました。Category逆方向に切り替えると のこの問題は修正されましたが、複数の引数があるため、 ではCategory機能しませんでした。Entry

必要に応じて追加データをリクエストしてください。


編集:まあ、私は(元のコード)で動作させることができました:

def get_absolute_url(self):
    return "%s/%s/%s/%s" % (self.pub_date.year, self.pub_date.month, self.pub_date.day, self.slug)

hrefat category.html を次のように変更します。

<a href="http://127.0.0.1:8000/blog/{{ entry.get_absolute_url }}">{{ entry.title }}</a>

つまり、ルートを追加しましたhttp://127.0.0.1:8000が、まだ動作させることができません...他のことをreverse()試しました...通常の. 以前にルートなしで を使用していたときのように、から に切り替えて動作させました。. _ _ _argskwargsreverse()return"blog/{{ category.get_absolute_url }}"returnreturn reverse()returnhrefEntry

4

1 に答える 1