Wie kann man Seiten mit einem href-Tag in Templates in django richtig routen? meine urls.pydjango ein href-Tag, das nicht richtig routet
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>
das Problem ist, dass, wenn ich bei url bin http://127.0.0.1:8000/post/post_title und dann will ich gehen über Seite, dann, als ich Link von Navbar traf, geht es zu Verbindung http://127.0.0.1:8000/post/post_title/about gibt mir 404 aber die ungefähr Seite ist an URL http://127.0.0.1:8000/about.
Es ist vielleicht ein Problem mit href oder URLs so korrigieren Sie mich.
arbeitete dank ... + Prateek – rohillasarthak
@rohillasarthak: Lesen Sie das Dispatcher Dokument einmal, Sie werden viele neue Funktionen in Django kennen lernen. Immer bereit zu helfen. – Prateek