href not working

29 views
Skip to first unread message

Caleb Bryson

unread,
May 30, 2018, 11:56:59 PM5/30/18
to Django users
So i am trying to create a directory with a Home,Blog,and Contact selection. But every time i click on one of them they all go back to the home page. How do i fix this, and here is the secton of code below. let me know if you need to see more

<div class="well bs-sidebar" id="sidebar" style="background-color:#fff">
       <ol class="nav nav-pills nav-stacked">
        <li><a href='/'>Home</a></li>
        <li><a href='/blog/'>Blog</a></li>
        <li><a href='/contact/'>Contact</a></li>
       </ol>
      </div>

Mike Dewhirst

unread,
May 31, 2018, 4:31:47 AM5/31/18
to django...@googlegroups.com
On 31/05/2018 1:56 PM, Caleb Bryson wrote:
> So i am trying to create a directory with a Home,Blog,and Contact
> selection. But every time i click on one of them they all go back to
> the home page.

It feels like your urls.py is insufficiently fleshed out or maybe your
home page url isn't fully formed. Django obviously thinks that whatever
is handed in can be interpreted as requesting the home page view.

For example, I would expect your home page url pattern (url or re_path
depending on Django version) might look something like ...

url_patterns = [
    url(r'^$', home_page_view),
    ...
]

If you have omitted that $ anything will match and your home page view
will be called.

Just a guess


> How do i fix this, and here is the secton of code below. let me know
> if you need to see more
>
> <div class="well bs-sidebar" id="sidebar" style="background-color:#fff">
> <ol class="nav nav-pills nav-stacked">
> <li><a href='/'>Home</a></li>
> <li><a href='/blog/'>Blog</a></li>
> <li><a href='/contact/'>Contact</a></li>
> </ol>
> </div>
> --
> You received this message because you are subscribed to the Google
> Groups "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to django-users...@googlegroups.com
> <mailto:django-users...@googlegroups.com>.
> To post to this group, send email to django...@googlegroups.com
> <mailto:django...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/9dc7004b-4fff-412d-8560-6308f13db92c%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/9dc7004b-4fff-412d-8560-6308f13db92c%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Mohammed Noor

unread,
May 31, 2018, 7:11:46 AM5/31/18
to django...@googlegroups.com
I think the mistake is using a '/' before the name inside href. Try changing it from href= '/contact'/ to href= 'contact/' 

Have a great day 
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.

Melvyn Sopacua

unread,
May 31, 2018, 9:01:23 AM5/31/18
to django...@googlegroups.com
On donderdag 31 mei 2018 05:56:59 CEST Caleb Bryson wrote:
> So i am trying to create a directory with a Home,Blog,and Contact
> selection. But every time i click on one of them they all go back to the
> home page.

If the url in your addressbar is /blog/ after clickin on it, but you see the
homepage content, then your homepage url pattern matches too much.

If you get redirected to the homepage, then there's something wrong in your
blog view code.

Given that it applies to both contact and blog, the first option is more
likely, but you could be making the same mistake in both views.

--
Melvyn Sopacua

Caleb Bryson

unread,
May 31, 2018, 9:48:25 AM5/31/18
to Django users

my blog view.py is empty at the moment


Mysite url.py

from django.contrib import admin

from django.conf.urls import url, include

 

urlpatterns = [

    url(r'^admin/', admin.site.urls),

    url(r'^', include( 'hybridair.urls')),

    url(r'^blog/$', include( 'blog.urls')),

]

 

 

 

Hybrid Air url.py

from django.conf.urls import url, include

from . import views

urlpatterns = [

    url(r'^', views.index, name='index'),

    url(r'^contact/', views.contact, name='contact'),

]

 

 

Hybrid Air view.py

from django.shortcuts import render

 

def index(request):

    return render(request, 'hybridair/home.html')

 

def contact(request):

    return render(request, 'hybridair/basic.html' ('content' ['contact the team at', 'mar...@flymat21.com']))

 

def blog(request):

    return render(request, 'hybridair/header.html')

 

 

 

 

 

blog url.py

from django.conf.urls import url, include

from django.views.generic import ListView, DetailView

from blog.models import Post

 

urlpatterns = [

    url(r'^$', ListView.as_view(

    queryset=Post.objects.order_by('-date')[:25],

    template_name="blog/blog.html")),

 

    url(r'^(?P<pk>\d+)$', DetailView.as_view(model = Post,

    template_name='blog/post.html')),

    ]


Do you see what I need to change?

Caleb Bryson

unread,
May 31, 2018, 9:48:43 AM5/31/18
to Django users

Caleb Bryson

unread,
May 31, 2018, 9:49:28 AM5/31/18
to Django users

Melvyn Sopacua

unread,
May 31, 2018, 11:24:44 AM5/31/18
to django...@googlegroups.com
On donderdag 31 mei 2018 15:49:28 CEST Caleb Bryson wrote:
> my blog view.py is empty at the moment
>
>
> Mysite url.py
>
> from django.contrib import admin
>
> from django.conf.urls import url, include
>
>
>
> urlpatterns = [
>
> url(r'^admin/', admin.site.urls),
>
> url(r'^', include( 'hybridair.urls')),

This matches anything that has a beginning. So that always matches, anything
after it, is ignored (Django works on first match base).


> url(r'^', views.index, name='index'),

And again.

So anything that is not admin, goes to the homepage.
--
Melvyn Sopacua
Reply all
Reply to author
Forward
0 new messages