Erro reverso do Django: NoReverseMatch
Eu observei várias postagens diferentes, mas elas estão trabalhando com uma versão diferente do django ou parecem não funcionar. Aqui está o que estou tentando fazer:
urls.py (para todo o projeto):
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^blog/', include('blog.urls', namespace="blog")),
url(r'^admin/', include(admin.site.urls)),
)
urls.py (específico para o aplicativo):
urlpatterns = patterns ('' ,
url(r'^views.py:
def index(request):
posts = Post.objects.filter(published=True)
return render(request,'blog/index.html',{'posts':posts})
def posts(request, slug):
post = get_object_or_404(Post,slug=slug)
return render(request, 'blog/post.html',{'post':post})
E finalmente o modelo:
{% block title %} Blog Archive {% endblock %}
{% block content %}
<h1> My Blog Archive </h1>
{% for post in posts %}
<div class="post">
<h2>
<a href="{% url "postdetail" slug=post.slug %}">
{{post.title}}
</a>
</h2>
<p>{{post.description}}</p>
<p>
Posted on
<time datetime="{{post.created|date:"c"}}">
{{post.created|date}}
</time>
</p>
</div>
{% endfor %}
{% endblock %}
Por alguma razão, isso me dá uma "Não correspondência inversa": reversa para 'pós-detalhamento' com argumentos '()' e argumentos de palavra-chave '{u'slug': u'third '}' não encontrado. 0 padrão (s) tentado (s): []
Eu já tentei me livrar das aspas duplas ao redorpostdetail
no modelo, e também tentei me referir a ele pelo nome da visualização em vez do nome do padrão. Ainda sem sorte. A documentação também não é muito útil.
A ajuda é realmente apreciada! obrigado
, views.index, name='index'),
url(r'^(?P<slug>[\w\-]+)/views.py:
def index(request):
posts = Post.objects.filter(published=True)
return render(request,'blog/index.html',{'posts':posts})
def posts(request, slug):
post = get_object_or_404(Post,slug=slug)
return render(request, 'blog/post.html',{'post':post})
E finalmente o modelo:
{% block title %} Blog Archive {% endblock %}
{% block content %}
<h1> My Blog Archive </h1>
{% for post in posts %}
<div class="post">
<h2>
<a href="{% url "postdetail" slug=post.slug %}">
{{post.title}}
</a>
</h2>
<p>{{post.description}}</p>
<p>
Posted on
<time datetime="{{post.created|date:"c"}}">
{{post.created|date}}
</time>
</p>
</div>
{% endfor %}
{% endblock %}
Por alguma razão, isso me dá uma "Não correspondência inversa": reversa para 'pós-detalhamento' com argumentos '()' e argumentos de palavra-chave '{u'slug': u'third '}' não encontrado. 0 padrão (s) tentado (s): []
Eu já tentei me livrar das aspas duplas ao redorpostdetail
no modelo, e também tentei me referir a ele pelo nome da visualização em vez do nome do padrão. Ainda sem sorte. A documentação também não é muito útil.
A ajuda é realmente apreciada! obrigado
, views.posts, name="postdetail"),
)
views.py:
def index(request):
posts = Post.objects.filter(published=True)
return render(request,'blog/index.html',{'posts':posts})
def posts(request, slug):
post = get_object_or_404(Post,slug=slug)
return render(request, 'blog/post.html',{'post':post})
E finalmente o modelo:
{% block title %} Blog Archive {% endblock %}
{% block content %}
<h1> My Blog Archive </h1>
{% for post in posts %}
<div class="post">
<h2>
<a href="{% url "postdetail" slug=post.slug %}">
{{post.title}}
</a>
</h2>
<p>{{post.description}}</p>
<p>
Posted on
<time datetime="{{post.created|date:"c"}}">
{{post.created|date}}
</time>
</p>
</div>
{% endfor %}
{% endblock %}
Por alguma razão, isso me dá uma "Não correspondência inversa": reversa para 'pós-detalhamento' com argumentos '()' e argumentos de palavra-chave '{u'slug': u'third '}' não encontrado. 0 padrão (s) tentado (s): []
Eu já tentei me livrar das aspas duplas ao redorpostdetail
no modelo, e também tentei me referir a ele pelo nome da visualização em vez do nome do padrão. Ainda sem sorte. A documentação também não é muito útil.
A ajuda é realmente apreciada! obrigado