2011-08-08 19 views
2

こんにちは私のサイトから別のURLをテンプレートに渡そうとしています。djangoのURLテンプレートタグ{%url%}の問題

私はそれがテンプレート

{% url myappname.module.views.urlfunction %} 

でこれを使用することによって行われるだろうが、それは「はレンダリング中はAttributeErrorをキャッチ 『str』はオブジェクトが属性 『正規表現』を持っていない」と言って、エラーを返すと思っ

私はその意味がわかりません。私は、この例url template tag in django template

urlpatterns = patterns('', 
url(r'^$', 'myappname.module.views.start'), 

を踏襲し、これは私がまたノーavialにこのURLパターンとテンプレートのコンボ試してみました

{% url myappname.module.views.start %} 

私のテンプレートに入力したものです:

urlpatterns = patterns('', 
url(r'^$', 'myappname.module.views.start', name="home"), 

{% url "home" %} 

を私は間違って何をしていますか?

ありがとうございました。代わりに

{% url "home" %} 

の最後の例では

+0

をサポートしますか?これは、Djangoテンプレートの名前付きURLを呼び出す正しい方法です。 – Brandon

+0

はい、私はそれが正しいと思いました、そして、これはイライラしています。私は**エラーを取得します。レンダリング中にAttributeErrorを捕まえました: 'str'オブジェクトに属性 'regex'がありません** – sequoia

答えて

5

は引用符すべての深刻さで

+0

ありがとうございます。私は引用の使用例がすべて見えるときになぜそれが必要なのか理解していますか?あなたは説明がありますか? – sequoia

+0

分かりません - 引用符などを入れずにここに伝えたとおりに私はいつも使っています。 – robos85

+0

@sequoia:[ここで転送互換性に関するセクションをチェックしてください](https://docs.djangoproject.com/en/dev/ref/templates)/builtins /?from = olddocs#url)。 –

-3

なし

{% url home %} 

を試してみてください、私はジャンゴで{%のurl%}スキームを使用してないを検討します単純なケースのために。彼らはあなたが決して活用しないような柔軟性を提供するように設計されており、「正しく」行う方法を見つけようと時間を費やすことはほとんど保証されています。

action = "/ login /"またはaction = "/ home /"を使用して、コードを書くような便利な作業を保存しておいてください。

2

は、テンプレートの先頭に次の行を追加します。

{% load url from future %} 

それは{%のURL「ホーム」%}を使用するときは、エラーを受信して​​いるパターン

{% url "VIEW_NAME" args... %} 
関連する問題