1

views.py からの URL パターン宣言

url(r'^intentions/(\d+)/$', 'intentions.views.show'),

私がアドレスを直接書いているときは、intentions/1 のように問題なく動作しますが、オブジェクトの URL ショーを表示しようとすると、次のようになります。

{% for i in intentions %}
   {% url 'intentions.views.show' i.id as iUrl %}
    <li><a href="{{ iUrl }}">{{ i }}</a></li>
{% endfor %}

空の href で終了しています。誰かアドバイスをくれませんか?

4

3 に答える 3

3

Django 1.3または1.4を使用している場合は、新しいurlタグをロードしていることを確認してください。テンプレートの上部に次の行を追加します。

{% load url from future %}

Django 1.4以前を使用していて、上記のように新しいurlタグをロードしていない場合は、URLパターンから一重引用符を削除する必要があります。

{% url intentions.views.show i.id as iUrl %}

余談ですが、URLパターンに名前を付けることをお勧めします。

url(r'^intentions/(\d+)/$', 'intentions.views.show', name='show_intention'),

次に、テンプレートを次のように変更します。

{% for i in intentions %}
  {% url 'show_intention' i.id as iUrl %}
  <li><a href="{{ iUrl }}">{{ i }}</a></li>
{% endfor %}
于 2012-07-16T09:52:33.707 に答える
1

あなたは試すことができます

{% for i in intentions %}
    <li><a href="{% url 'intentions.views.show' i.id %}"><{{ i }}</a></li>
{% endfor %}

{%url'intentions.views.show' i.id as iUrl%}は使用しないでください。混乱している可能性があります。また、次のようにURLを変更してみることができます

 url(r'^intentions/(\d+)/$', 'intentions.views.show', name="intention_view"),

それから、

{% for i in intentions %}
     {% url "intention_view" i.id as iUrl %}
     <li><a href="{{ iUrl }}">{{ i }}</a></li>
{% endfor %}

空のhrefも終了している場合は、最初の方法を試してください。

于 2012-07-16T09:52:22.973 に答える
0

'intentions.views.show'
また、URL に name='' を付けて、テンプレート コードで使用します。

于 2012-07-16T10:01:48.487 に答える