django href 标签没有正确路由

django a href tag not routing properly

如何使用 django 模板中的 href 标签正确路由页面? 我的 urls.py

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.home_page, name='home_page'),
url(r'^post/', include('blog.urls')),
url(r'^post/(?P<slug>[-\w]+)/$', views.single_post, name='post'),
url(r'^about/', views.about_page, name='about_page'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

views.py

 def home_page(request):
posts = Post.objects.filter(publish_date__lte=timezone.now()).order_by('publish_date').reverse()
paginator = Paginator(posts, 6)
page = request.GET.get('page')
try:
    posts = paginator.page(page)
except PageNotAnInteger:
    posts = paginator.page(1)
except EmptyPage:
    posts = paginator.page(paginator.num_pages)

return render_to_response('home.html', locals(), context_instance=RequestContext(request))

 def single_post(request, slug):
     post = get_object_or_404(Post, slug=slug)
     return render_to_response('post/post_detail.html', locals(), context_instance=RequestContext(request))

def about_page(request):
     return render_to_response(
    'about.html'
)

base.html

 <div class="head-nav">
                <span class="menu"> </span>
                    <ul class="cl-effect-1">
                        <li class="active"><a href="/">Home</a></li>
                        <li><a href="about/">About</a></li>
                        <li><a href="gaming/">Gaming</a></li>
                        <li><a href="tech/">Tech</a></li>
                        <li><a href="404.html">Shortcodes</a></li>

                        <li><a href="contact.html">Contact</a></li>
                                    <div class="clearfix"></div>
                    </ul>
            </div>

问题是当我在 url http://127.0.0.1:8000/post/post_title 然后我想转到关于页面,然后当我从导航栏点击 link 时,它转到 http://127.0.0.1:8000/post/post_title/about,这给了我一个 404,但关于页面位于 url http://127.0.0.1:8000/about.

可能是 href 或 urls 的问题,请指正。

将您的代码替换为以下行。

<li><a href="{% url 'about_page' %}">About</a></li>

您已经在 urls.py 中定义了名为 url 的内容,因此请充分利用它。 有关详细信息,请阅读本文,这将帮助您充分利用命名 urls。 Django URL's Dispatcher