我在學習Django框架,我在擴展模板部分,我試圖添加一個新模板,當我點擊博客的標題以重定向到(日期/作者/等)的頁面,所以我創建了一個新的視圖views.py和一個新的url到urls.py,但是當我adc的路徑' HREF」希望.html文件中,你會看到,我收到以下錯誤,當我重新加載頁面:Django錯誤:模板呈現期間出錯
NoReverseMatch at /
Reverse for 'blog.views.post_detail' with arguments '()' and keyword arguments '{'pk': 2}' not found. 0 pattern(s) tried: []
而
Error during template rendering
In template /home/douglas/Documentos/Django/my-first-blog/blog/templates/blog/post_list.html, error at line 9
所以,當我抹去HREF背默認值一切運作良好...我幾乎可以肯定,什麼是錯的HREF線,但我將發佈所有模板相關的文件爲你檢查,如果你需要檢查什麼都讓我知道:
冷杉HTML文件:post_list.html
{% extends 'blog/base.html' %}
{% block content %}
{% for post in posts %}
<div class="post">
<div class="date">
{{ post.published_date }}
</div>
<h1><a href="{% url 'blog.views.post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
<p>{{ post.text|linebreaksbr }}</p>
</div>
{% endfor %}
{% endblock content %}
urls.py:
from django.conf.urls import url
from . import views
from .models import Post
urlpatterns = [
url(r'^$', views.post_list),
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
]
views.py
from django.shortcuts import render
from django.shortcuts import render, get_object_or_404
from .models import Post
from django.utils import timezone
def post_list(request):
#posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
posts = Post.objects.all()
return render(request, 'blog/post_list.html', {'posts': posts})
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
好球員,我想的是,我希望我沒有忘記我的問題的任何細節... 預先感謝您,任何幫助,歡迎!
謝謝你,對我的工作!非常感謝你!! –