0

私は次のものを持っていますurlpatterns

urlpatterns = patterns('',
    url(r'^new$', 'webapp.views.new_post', name="new_post"),
    url(r'^$', 'webapp.views.all_posts', name="main"),
    url(r'^post/(\d{4})/(\d{2})/(\d{2})/$', 'webapp.views.single_post', name="single_post"),
    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
)

そして、次のようなテンプレート:

{% for i in posts %}
    <h3><a href={% url 'single_post' i.created_at.year i.created_at.month i.created_at.day %}>{{i.title}}</a></h3>
    Posted at: {{i.created_at}}
    <br>
    <br>
    {{i.text}}
    <hr>
{% endfor %}

しかし、私はNoReverseMatch例外を言い続けていますReverse for 'single_post' with arguments '(2012, 9, 30)' and keyword arguments '{}' not found.

編集:Python 2.7でDjango 1.4.1を使用しています

4

2 に答える 2

1

Python ドキュメントから:

{m} 前の RE のちょうど m 個のコピーが一致する必要があることを指定します。一致が少ないと、RE 全体が一致しなくなります。たとえば、a{6} は正確に 6 文字の「a」に一致しますが、5 文字には一致しません。

したがって、URL パターンは次のようになります。

r'^post/(\d{4})/(\d{1,2})/(\d{1,2})/$'

お役に立てれば。

于 2012-10-05T05:56:26.337 に答える