1

テンプレートbase.htmlから逆コマンド「url」を実行するのに問題があります。

URLS.confファイルは次のようになります。

dic_info_artigo = {
                  'queryset': Artigo.modificado.all(),
                  'date_field': 'data_pub',
}

urlpatterns = patterns('django.views.generic.date_based',
    (r'^$', 'archive_index', dic_info_artigo,'artigos'),

    (r'^(?P<year>\d{4})/$','archive_year', dic_info_artigo,'artigos_ano'),
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/$',
        'archive_month', dic_info_artigo,'artigos_mes'),
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/$',
        'archive_day', dic_info_artigo,'artigos_dia'),
    (r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$',
        'object_detail', dic_info_artigo,'detalhe_artigo'),
)

base.html

<a href="{% url artigos %}"> Artigos </ a>

エラー:

辞書更新シーケンス要素 # 0 の長さは 1 です。2が必要です

すでにパラメーター「name =」を使用してみました。値を変更しましたが、機能しませんでした

url(r'^$', 'archive_index', dic_info_artigo, name='artigos'),

私は何を間違っていますか?任意のヒント?

ありがとう。

4

2 に答える 2

1

エラー メッセージは、次のような名前を使用してビューに名前を付けようとしたことを示しています。

(r'^my_url$', 'my_view', 'my_view')

ただし、3 番目の引数は、ビューの名前ではなく、辞書にする必要があります。

このようなエラーを防ぐために、常にurlショートカットを使用し、URL パターンに名前を付けることをお勧めします。

url(r'^my_url$', 'my_view', name='my_view')

ただし、必要に応じて、空の辞書を 3 番目の引数として渡すこともできます。

(r'^my_url$', 'my_view', {}, 'my_view')

あなたurls.pyが投稿したものは問題ないように見えるので、問題はおそらく別のurls.py. 運が良ければ、完全なトレースバックにより、エラーが発生しているモジュールの正確な行が得られる場合があります。

于 2012-10-23T18:39:08.433 に答える
0

url() を使用して URL に名前を付け、テンプレート ファイルで次のことを試してください。

{% url 'artigos' %}

于 2012-10-23T18:27:03.310 に答える