2017-08-22 4 views
0

私のすべてのURLにどのように文字列を追加しますか? 私は持っていると言っているhttp://127.0.0.1:8000/articles/new/ 私は持っているhttp://127.0.0.1:8000/ユーザ名 /記事/新/ 私のサイト全体のすべてのテンプレートのURLを変更する必要はありません。 ここに入力したい文字列は、ログインしたユーザーに基づいてのユーザー名です。 これを達成するには?DjangoはURLに先行する文字列を返します

+0

'articles'は別のアプリですか? – wencakisa

+0

はい、そうです。さらに多くのアプリがあります。 –

答えて

3

まず、すべてのテンプレートでtemplatetags urlを使用する必要があります。

urls.pyにあなたのような何かを持っている場合:

url(r'^articles/new$', NewArticleView.as_view(), name='new_article') 

そして、あなたが持っているあなたのテンプレートでは:あなたがいない場合は

url(r'^(?P<username>.+/articles/new$', NewArticleView.as_view(), name='new_article') 

<a href="{% url 'new_article' request.user.username %}">new article</a> 

<a href="{% url 'new_article' %}">new article</a> 

はそれを変換私が知っている限り、他の方法はありませんtemplatetags urlを使ってくださいすべてのテンプレート

+0

私が避けようとしているのは、テンプレート内のすべてのa href = 'URLを変更することです。あなたのアプローチはこれを要求します。 –

+0

さて、私はあなたが次回あなたがそれらを変更したいときにあなたのすべてのURLを書き換えないようにする方法を教えました。 – user2021091

関連する問題